diff --git a/filterscripts/objects.pwn b/filterscripts/objects.pwn index 5aa5995..2736610 100644 --- a/filterscripts/objects.pwn +++ b/filterscripts/objects.pwn @@ -13,8 +13,691 @@ stock tmpVariable; public OnFilterScriptInit() { - // Zach Garage + // Ahmyy HQ [DS] HQ + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2564.469726, 29.004808, 2.920104, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2552.474365, 3.354859, 2.918090, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.865722, -59.845142, 2.918090, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2564.469726, -59.835113, 2.918090, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2552.474365, -46.835128, 2.918090, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2552.474365, -21.845146, 2.918090, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2552.464355, -5.955235, 2.918090, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.865722, 29.014808, 2.918090, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19538, -2530.928955, -2.160571, 15.377683, 0.000000, 0.000000, 0.000000 ), 0, 8556, "vgsehseing1", "concretenewb256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.854736, -22.834747, 10.373910, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.854736, -47.834747, 10.373910, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2552.470458, 10.054860, 7.908081, 0.000000, 90.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2552.470458, 10.054860, 8.888120, 0.000000, 90.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19538, -2530.928955, -29.070589, 15.379697, 0.000000, 0.000000, 0.000000 ), 0, 8556, "vgsehseing1", "concretenewb256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2552.470458, 10.054860, 9.868103, 0.000000, 90.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2573.724365, 26.055938, 7.709714, -0.199999, -18.800012, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2576.663574, 26.052415, 6.712646, -0.199999, -18.800012, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2581.395263, 26.046798, 5.101316, -0.199999, -18.800012, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2586.136474, 26.041173, 3.486814, -0.199999, -18.800012, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2590.861083, 26.035554, 1.878723, -0.199999, -18.800012, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2595.577880, 26.029933, 0.273802, -0.199999, -18.800012, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2567.169189, 26.044845, 10.380371, 90.000000, 0.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2557.180419, 26.044845, 10.380371, 90.000000, 0.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2550.471435, 25.055032, 12.918105, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2550.441406, 26.825069, 12.908105, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.865722, 23.074811, -2.621886, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2556.873779, 23.064794, -2.621886, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2552.470458, 22.284868, 2.910100, 0.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868408, -46.845142, 14.918088, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868408, -21.845142, 14.918088, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868408, 3.154855, 14.918088, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.878417, 16.014865, 14.918088, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.858398, 11.064902, 10.378049, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.856445, -22.833114, 10.380049, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.858398, -47.844940, 10.378049, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.858398, -9.945051, 10.378049, 90.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -2590.875488, 23.064949, 10.378049, 90.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -2585.875732, 23.064949, 10.378049, 90.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -2580.881591, 23.064949, 10.378049, 90.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -2575.877929, 23.064949, 10.378049, 90.000000, 0.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + CreateDynamicObject( 1498, -2588.706298, -59.388454, 2.985625, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2593.859375, 10.398111, -8.650327, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2593.859375, -46.871807, -8.650327, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2593.857421, -1.911895, -8.648315, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2593.857421, -34.871807, -8.648315, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2593.855468, -21.861814, -9.158325, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, 18.072101, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, 13.072094, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, 8.072094, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, 3.072101, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -1.927898, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -6.927896, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -11.927898, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -59.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -54.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -49.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -44.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -39.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -34.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -29.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2593.868164, -24.837863, -2.442502, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, 15.576515, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, 10.576515, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, 5.576515, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, 0.576515, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -4.423480, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -9.423480, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -27.333509, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -32.333511, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -37.333511, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -42.333511, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -47.333511, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -52.333511, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, -57.333511, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2593.971435, 20.576505, 6.569702, 90.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19538, -2568.477539, 0.761627, 2.881711, 0.000000, 0.000000, 90.000000 ), 0, 4829, "airport_las", "LASLACMA6", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2582.674316, -18.304508, 2.930087, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, -18.304508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2567.158447, -18.304508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, -18.304508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, -8.704504, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, 0.895492, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, 10.495491, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, 20.095493, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, -27.904508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, -37.504508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, -47.104507, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2577.638427, -56.704505, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, -27.904508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, -37.504508, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, -47.104507, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, -56.704505, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, -8.704504, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, 0.895492, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, 10.495491, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2556.678466, 20.095493, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2567.178466, 20.095493, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2567.178466, -56.704505, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + CreateDynamicObject( 19885, -2571.864501, -0.527100, 2.415647, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19885, -2571.864501, -30.327049, 2.409178, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -2592.608886, -18.297546, 3.335632, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -2589.144531, -18.297546, 3.101684, 0.000000, 97.999984, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + CreateDynamicObject( 3660, -2592.649902, -3.680197, 4.815671, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 3660, -2592.649902, 13.009805, 4.815671, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 3660, -2592.649902, -32.940269, 4.815671, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 3660, -2592.649902, -50.500320, 4.815671, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2581.009277, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2577.508789, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2574.008789, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2570.508789, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2567.008789, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2563.508789, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2560.008789, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2581.009277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2577.509277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2574.009277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2570.509277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2567.009277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2563.509277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2560.009277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2556.509277, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2552.928222, -57.391139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -53.891139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -50.391139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -46.891139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -43.391139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -39.891139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -36.391139, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -32.891139, 3.005614, 0.000000, 0.000000, 90.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2554.468505, 18.354867, 0.293211, 0.000000, -17.799999, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -2554.468505, 19.324863, 0.295165, 0.000000, -17.799999, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + CreateDynamicObject( 1569, -2552.928222, 13.818906, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1569, -2552.928222, 10.318906, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1569, -2552.928222, 6.818910, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1569, -2552.928222, 3.318907, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -0.181088, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1569, -2552.928222, -3.681087, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1536, -2552.948242, -8.811092, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1536, -2552.948242, -16.811092, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1536, -2552.938232, -19.811109, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1536, -2552.938232, -11.811105, 3.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1536, -2552.948242, -24.811092, 3.005614, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 1536, -2552.938232, -27.811109, 3.005614, 0.000000, 0.000000, 90.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2552.470458, 10.054860, 14.920104, 0.000000, 90.000000, 90.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.854736, 2.165251, 10.363910, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2581.854736, 11.045228, 10.373896, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2565.394775, 11.045260, 10.369880, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2565.394775, -13.934739, 10.379880, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2565.394775, -38.934738, 10.379880, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2565.394775, -47.834785, 10.379880, 0.000000, 90.000000, 0.000000 ), 0, 8390, "vegasemulticar", "ws_carpark2", 0 ); + CreateDynamicObject( 18739, -2567.140136, -27.383987, 2.635620, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 18739, -2567.140136, -47.653961, 2.635620, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 18739, -2567.140136, -37.653961, 2.635620, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 18739, -2567.140136, -9.263968, 2.635620, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 18739, -2567.140136, 0.736029, 2.635620, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 18739, -2567.140136, 11.026045, 2.635620, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 6204, -2589.200927, -4.634115, 2.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 6204, -2585.948730, -4.634115, 2.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 6204, -2589.200927, 4.015904, 2.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 6204, -2585.948730, 4.035885, 2.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 6204, -2585.948730, -32.994243, 2.005614, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 6204, -2585.948730, -40.594245, 2.055664, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 6204, -2589.492187, -40.594245, 2.055664, 0.000000, 0.000000, 90.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2588.121826, -56.704505, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -2588.122070, 20.095493, 2.929687, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_floortiles2", 0 ); + CreateDynamicObject( 1569, -2584.709228, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2588.409179, 22.618783, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1569, -2584.709228, -59.381145, 3.005614, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1498, -2588.706298, -59.388454, 10.845652, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 638, -2553.381591, -14.277957, 3.685625, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 638, -2553.381591, -22.417991, 3.685625, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 638, -2570.226806, -22.687957, 3.685625, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 638, -2564.026367, -22.687957, 3.685625, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 638, -2570.226806, -13.897950, 3.685625, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 638, -2564.005371, -13.897950, 3.685625, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 19588, -2567.104492, -7.092533, 3.925625, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19588, -2567.104492, 8.847463, 3.925625, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19588, -2567.104492, -29.552555, 3.925625, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19588, -2567.104492, -45.512485, 3.925625, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -56.063499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -49.563499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -43.063499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -36.563499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -30.063499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -23.563499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -17.063499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -10.563499, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3979, "civic01_lan", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, -4.063498, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3595, "dingbat01_la", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, 2.436500, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3595, "dingbat01_la", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -2594.331787, 8.936498, 12.409716, 0.000000, 0.000000, 0.000000 ), 0, 3595, "dingbat01_la", "nt_bonav1", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -2593.878417, 23.054901, 12.398075, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -2593.878417, 12.754878, 12.398075, 0.000000, 0.000000, 0.000000 ), 0, 13724, "docg01_lahills", "chr_flags_256", 0 ); + CreateDynamicObject( 19861, -2552.964355, 7.508882, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 19861, -2552.964355, -2.491117, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 19861, -2552.964355, -12.491115, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 19861, -2552.964355, -22.491117, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 19861, -2552.964355, -32.491119, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 19861, -2552.964355, -42.491119, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 19861, -2552.964355, -52.491119, 13.379895, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1498, -2584.131835, -59.388454, 10.845652, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1498, -2587.379882, -55.787757, 15.389678, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3852, -2586.653320, -57.549648, 16.939710, 0.000000, 0.000000, 90.000000 ), 3, 0, "0", "none", 61578496 ); + CreateDynamicObject( 3934, -2582.291259, -41.361755, 15.429697, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3934, -2582.291259, -23.361755, 15.429697, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3934, -2582.291259, -5.361755, 15.429697, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3934, -2582.291259, 12.638244, 15.429697, 0.000000, 0.000000, 0.000000 ); + + // Lorenzo In a Benzo + SetDynamicObjectMaterialText( CreateDynamicObject( 10280, -2051.65625, 998.60938, 64.32810, 0.00000, 0.00000, 0.00000 ), 3, " ", 140, "Arial", 64, 1, -32256, 0, 1); + + // Zach Warehouse SetDynamicObjectMaterialText(CreateDynamicObject(17072, -41.19690, -1113.12695, 4.62810, 0.00000, 0.00000, -24.00000), 3, " ", 140, "Arial", 64, 1, -32256, 0, 1); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -60.322685, -1127.890991, 2.178107, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -61.758411, -1127.337036, 2.148108, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -48.327621, -1132.525634, 2.198107, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -45.022743, -1133.795043, 2.238106, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -37.936573, -1115.312744, 2.268105, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -47.673881, -1111.572753, 2.268105, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -51.408168, -1110.140869, 2.248106, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -33.750122, -1118.794067, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -34.993690, -1122.033813, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -36.233615, -1125.264526, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -37.480735, -1128.512939, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -39.620166, -1134.086547, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -38.469760, -1131.088134, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -36.512928, -1125.975219, 2.648132, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -36.885551, -1126.943115, 2.648132, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -36.881969, -1126.933837, -0.771848, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -36.512928, -1125.975219, -0.821868, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -39.959758, -1134.959228, 2.588134, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -39.954013, -1134.972290, -0.591857, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -33.406681, -1117.918701, 2.588134, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -33.406681, -1117.918701, -0.871855, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -56.830123, -1109.824096, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -58.073692, -1113.063842, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -59.313617, -1116.294555, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -60.560737, -1119.542968, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -62.739570, -1125.218627, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -61.549762, -1122.118164, 5.078125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -59.578601, -1116.968139, 2.648132, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -59.944061, -1117.917480, 2.648132, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -59.944061, -1117.917480, -0.771848, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -59.578601, -1116.968139, -0.821868, 0.000000, 0.000000, -21.000009 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -63.023262, -1125.974243, 2.588134, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -63.023277, -1125.974731, -0.591857, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -56.486682, -1108.948730, 2.588134, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -56.486682, -1108.948730, -0.871855, 0.000000, 0.000000, -21.000019 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -53.084972, -1114.652221, 7.038126, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -43.319690, -1118.401000, 7.028131, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -39.772132, -1119.761596, 7.030145, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -43.395084, -1129.194580, 7.040132, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -53.216285, -1125.561279, 7.030156, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -56.794044, -1124.168701, 7.022119, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -55.772735, -1121.509887, 7.024144, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -45.998088, -1125.264770, 7.024147, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, -42.413173, -1126.637939, 7.032132, 0.000000, 90.000000, -20.999998 ), 0, 12911, "sw_farm1", "sw_corrugtile", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19354, -54.862701, -1130.016845, 4.398128, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19354, -58.111572, -1128.769653, 4.398128, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -60.376419, -1128.030273, -4.321866, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -60.333431, -1127.918823, 1.468109, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19454, -51.638130, -1131.384033, -4.321866, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19795, -58.679843, -1128.585205, 1.098114, 0.000000, 0.000000, -48.400001 ), 0, 11501, "des_farmstuff", "corr_roof1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19795, -53.201374, -1130.732421, 1.098114, 0.000000, 0.000000, -13.599981 ), 0, 11501, "des_farmstuff", "corr_roof1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 5061, -61.487983, -1121.872680, 2.738126, 0.000000, 0.000000, -20.900011 ), 0, 11326, "oldgarage_sfse", "alleydoor8", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 11319, -58.116806, -1113.042602, 2.638122, 0.000000, 0.000000, -20.900011 ), 0, 11326, "oldgarage_sfse", "alleydoor8", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 11319, -38.382190, -1130.994873, 2.678131, 0.000000, 0.000000, -20.900011 ), 0, 11326, "oldgarage_sfse", "alleydoor8", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 11319, -34.939624, -1121.980224, 4.128108, 0.000000, 0.000000, -20.900011 ), 0, 11326, "oldgarage_sfse", "alleydoor8", -16 ); + CreateDynamicObject( 19277, -43.592910, -1135.133789, 1.488126, 0.000000, 0.000000, -21.100006 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19354, -57.103282, -1129.157348, 5.428143, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19354, -53.919769, -1130.379150, 5.428143, 90.000000, 90.000000, -20.999998 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -33.748123, -1118.794067, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -36.231616, -1125.264526, 6.378125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -37.478736, -1128.512939, 6.378125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -38.467761, -1131.088134, 6.378125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -39.618167, -1134.086547, 6.378125, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -35.000343, -1122.058349, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -56.863574, -1109.922363, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -58.107128, -1113.162475, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -59.354339, -1116.415039, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -60.601402, -1119.661743, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -61.834133, -1122.872070, 6.378119, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19435, -62.730018, -1125.204467, 6.298120, 90.000000, 69.000160, 90.000000 ), 0, 5149, "lasground2_las2", "garage_roof", 0 ); + CreateDynamicObject( 18661, -36.853836, -1126.598388, 1.668123, 0.000000, 0.000000, -21.100027 ); + CreateDynamicObject( 18660, -36.731781, -1126.283081, 2.594187, -13.699995, 0.000000, -21.100027 ); + CreateDynamicObject( 18661, -59.642967, -1117.401000, 1.668123, 0.000000, 0.000000, 159.199829 ); + CreateDynamicObject( 18662, -59.692687, -1117.532470, 1.668123, 0.000000, 0.000000, 159.199829 ); + CreateDynamicObject( 18659, -59.642967, -1117.401000, 2.708125, 10.500000, 0.000000, 159.199829 ); + CreateDynamicObject( 19903, -39.722373, -1125.291992, 0.008124, 0.000000, 0.000000, -150.000000 ); + CreateDynamicObject( 19900, -38.469333, -1125.884155, 0.048124, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19899, -43.181434, -1133.938964, 0.008124, 0.000000, 0.000000, 68.899932 ); + CreateDynamicObject( 19893, -38.521251, -1126.027465, 0.918124, 0.000000, 0.000000, -30.200000 ); + CreateDynamicObject( 19872, -44.017280, -1128.560668, -1.781872, 0.000000, 0.000000, 67.699996 ); + CreateDynamicObject( 19917, -45.563682, -1132.896728, 0.058125, 0.000000, 0.000000, 54.399997 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19862, -50.892551, -1110.801269, 4.218735, 7.099997, 0.499998, -21.000000 ), 0, 8419, "vgsbldng1", "black32", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2295, -50.873104, -1114.094238, 0.018123, 0.000000, 0.000000, 179.999969 ), 0, 3853, "gay_xref", "ws_gayflag2", 0 ); + CreateDynamicObject( 11713, -41.240100, -1135.121459, 1.678123, 0.000000, 0.000000, 69.400062 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2295, -52.404087, -1113.569580, 0.018123, 0.000000, 0.000000, 132.599914 ), 0, 3853, "gay_xref", "ws_gayflag2", 0 ); + CreateDynamicObject( 1828, -51.367256, -1113.586547, 0.068125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3594, -40.853034, -1115.551269, 1.439929, 0.000000, 54.499977, -112.299789 ); + CreateDynamicObject( 19324, -62.133049, -1126.126831, 0.688125, 0.000000, 0.000000, 65.699966 ); + CreateDynamicObject( 19324, -61.294551, -1126.505371, 0.688125, 0.000000, 0.000000, 91.499946 ); + CreateDynamicObject( 19324, -60.451232, -1126.826904, 0.688125, 0.000000, 0.000000, 152.899841 ); + CreateDynamicObject( 19324, -59.587711, -1127.268798, 0.688125, 0.000000, 0.000000, -166.400253 ); + CreateDynamicObject( 19324, -60.855751, -1125.505126, 0.422666, -87.100242, 0.000000, 82.099769 ); + CreateDynamicObject( 18706, -60.745410, -1125.492309, -0.961874, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 742, -34.344791, -1117.755493, -0.311874, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 742, -35.617431, -1117.109375, -0.311874, 0.000000, 0.000000, -54.900005 ); + CreateDynamicObject( 742, -35.576934, -1118.644165, -0.311874, 0.000000, 0.000000, -54.900005 ); + CreateDynamicObject( 19473, -35.531375, -1118.638427, 0.078125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19473, -35.597118, -1117.113037, 0.078125, 0.000000, 0.000000, -20.100011 ); + CreateDynamicObject( 19473, -34.285335, -1117.804321, 0.078125, 0.000000, 0.000000, -20.100011 ); + CreateDynamicObject( 1829, -36.764606, -1116.605468, 0.538124, 0.000000, 0.000000, -21.800048 ); + CreateDynamicObject( 2063, -48.377593, -1132.092163, 0.828125, 0.000000, 0.000000, 158.700088 ); + CreateDynamicObject( 941, -40.652610, -1120.382690, 0.558125, 0.000000, 0.000000, -23.699979 ); + CreateDynamicObject( 941, -42.804389, -1119.436157, 0.558125, 0.000000, 0.000000, -23.699979 ); + CreateDynamicObject( 19830, -43.427345, -1119.493896, 1.038125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 2057, -39.476490, -1120.328247, 0.218125, 0.000000, 0.000000, -127.599990 ); + CreateDynamicObject( 19830, -41.122829, -1119.897338, 1.038125, 0.000000, 0.000000, 112.399757 ); + CreateDynamicObject( 19585, -43.137100, -1118.782470, 1.228124, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1650, -41.406257, -1120.136840, 1.338124, 0.000000, 0.000000, 65.400009 ); + CreateDynamicObject( 1579, -41.944324, -1119.873657, 0.968125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1579, -42.291984, -1119.525512, 0.968125, 0.000000, 0.000000, 51.399925 ); + CreateDynamicObject( 1579, -42.096603, -1119.681152, 1.088124, 0.000000, 0.000000, 79.499885 ); + CreateDynamicObject( 1347, -38.932979, -1121.158203, 0.658125, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19602, -42.920051, -1119.661499, 1.058125, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19602, -40.570045, -1120.061889, 1.058125, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 19570, -42.839660, -1119.006347, 1.008125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19583, -40.754741, -1119.868774, 1.169052, 20.200004, 0.000000, 48.199974 ); + CreateDynamicObject( 19570, -40.449291, -1120.333251, 1.018125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1580, -39.908317, -1120.953857, 0.978125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1580, -39.688339, -1120.483398, 0.978125, 0.000000, 0.000000, -20.500015 ); + CreateDynamicObject( 1580, -39.862102, -1120.726806, 1.078125, 0.000000, 0.000000, 40.799995 ); + CreateDynamicObject( 1210, -40.981323, -1120.534790, 1.005131, -88.099945, 0.000000, 179.499862 ); + CreateDynamicObject( 19631, -60.314323, -1125.106933, 0.459865, -48.400024, 98.299964, 0.000000 ); + CreateDynamicObject( 1670, -51.482337, -1113.364990, 0.108125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1497, -46.444156, -1112.097900, 0.038125, 0.000000, 0.000000, -21.400007 ); + CreateDynamicObject( 11401, -58.463447, -1123.000854, 4.058125, 0.000000, 0.000000, 166.300003 ); + CreateDynamicObject( 1421, -58.159317, -1118.170898, 0.848125, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1550, -59.969852, -1126.850585, 0.388953, 21.599977, 0.000000, 0.000000 ); + CreateDynamicObject( 19324, -58.304256, -1123.142578, 1.957888, 21.400009, -2.100000, 57.299945 ); + CreateDynamicObject( 18717, -58.305908, -1123.224487, 0.348125, 0.000000, 0.000000, 0.399999 ); + CreateDynamicObject( 1893, -41.126438, -1120.248413, 3.708123, 0.000000, 0.000000, -24.100017 ); + CreateDynamicObject( 1893, -43.061687, -1119.383056, 3.708123, 0.000000, 0.000000, -24.100017 ); + CreateDynamicObject( 19087, -42.985569, -1119.411987, 6.148131, 0.000000, 0.000000, -21.799999 ); + CreateDynamicObject( 19087, -42.142498, -1119.780395, 6.148131, 0.000000, 0.000000, -21.799999 ); + CreateDynamicObject( 19087, -41.046863, -1120.270996, 6.148131, 0.000000, 0.000000, -21.799999 ); + CreateDynamicObject( 19087, -40.194503, -1120.642822, 6.148131, 0.000000, 0.000000, -21.799999 ); + CreateDynamicObject( 19921, -43.197368, -1133.964111, 1.347499, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1008, -43.834213, -1133.363891, 1.197499, 0.000000, 0.000000, -173.000076 ); + CreateDynamicObject( 1192, -41.815303, -1134.340820, 2.242161, -7.500002, -77.199989, 156.900024 ); + CreateDynamicObject( 1080, -49.224636, -1131.751953, 2.087498, 0.000000, 0.000000, 67.399986 ); + CreateDynamicObject( 1080, -47.736064, -1132.241333, 2.087498, 0.000000, 0.000000, 68.799942 ); + CreateDynamicObject( 930, -50.365077, -1131.291015, 0.548125, 0.000000, 0.000000, -20.900009 ); + CreateDynamicObject( 1428, -46.588401, -1132.468872, 1.437500, 0.000000, 0.000000, 159.799987 ); + + // Metzler Hillside Mansion + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1156.954589, -542.460693, 29.238502, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1140.927001, -536.878723, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1151.373168, -558.487976, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1146.145507, -547.675109, 34.203502, 0.000000, 90.000000, 64.199966 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1172.980468, -548.034179, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1153.208129, -550.668334, 32.748348, 0.000000, 90.000000, 154.299652 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1171.739990, -544.420837, 31.768478, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1162.754394, -539.679870, 29.237503, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1169.770507, -550.107177, 31.718463, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1158.718261, -528.270446, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1167.766113, -537.224060, 34.203502, 0.000000, 90.000000, 64.199966 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1162.238769, -553.297180, 34.203502, 0.000000, 90.000000, -25.900014 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1169.682006, -541.211120, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1151.718872, -531.646057, 34.203502, 0.000000, 90.000000, -25.900014 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1162.536865, -526.425231, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1164.596801, -529.645507, 31.768478, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1165.803588, -533.188598, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1160.520019, -527.400268, 33.088451, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1160.520019, -527.400268, 33.328414, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1169.743041, -540.266296, 32.628444, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + CreateDynamicObject( 1569, -1161.798950, -526.341064, 29.732481, 0.000000, 0.000000, -25.500005 ); + SetDynamicObjectMaterial( CreateDynamicObject( 5422, -1160.361572, -527.015625, 31.608503, 90.000000, 0.000000, -115.799980 ), 0, 10835, "navybasefence", "ws_oldpainted", 0 ); + CreateDynamicObject( 1569, -1159.106811, -527.666992, 29.732481, 0.000000, 0.000000, 152.899780 ); + CreateDynamicObject( 11704, -1160.805175, -527.934204, 33.232463, 0.000000, 0.000000, -25.800035 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1155.124389, -529.527587, 31.718463, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1149.198974, -532.390930, 31.718463, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1143.292724, -535.246459, 31.718463, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19325, -1163.791625, -552.996765, 31.718463, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1156.246215, -556.115844, 31.398523, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1150.706542, -542.772827, 31.398523, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1156.371582, -544.150207, 31.478523, 0.000000, 0.000000, 64.200119 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1149.145263, -543.523681, 31.398523, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1150.487304, -551.988403, 29.302549, 0.000000, 90.000000, -25.999990 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1156.936767, -542.446960, 29.242502, 0.000000, 90.000000, -25.800003 ), 0, 11252, "railbridge_sfse", "ws_stoneblock", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1156.918945, -542.433227, 29.238502, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18765, -1145.721923, -550.696350, 24.294874, 0.000000, 103.999877, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3934, -1148.870727, -539.203857, 34.708515, 0.000000, 0.000000, -25.800003 ), 0, 8396, "sphinx01", "luxorceiling01_128", -16777216 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1143.905639, -546.055053, 29.238502, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1139.713256, -537.451354, 29.238502, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -1141.456665, -539.915405, 27.234849, 0.000000, 0.000000, -25.800003 ), 0, 11252, "railbridge_sfse", "ws_stoneblock", 0 ); + CreateDynamicObject( 14394, -1139.249633, -542.465332, 28.608486, 0.000000, 90.000000, -25.800003 ); + CreateDynamicObject( 14394, -1139.711547, -543.420227, 28.606485, 0.000000, 90.000000, -25.800003 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18764, -1143.199462, -543.519592, 27.234849, 0.000000, 0.000000, -25.800003 ), 0, 11252, "railbridge_sfse", "ws_stoneblock", 0 ); + CreateDynamicObject( 638, -1141.649780, -545.122192, 30.394870, 0.000000, 0.000000, -25.800003 ); + CreateDynamicObject( 638, -1139.084838, -539.817749, 30.394870, 0.000000, 0.000000, -25.800003 ); + CreateDynamicObject( 638, -1143.146728, -546.431274, 30.428491, 0.000000, 0.000000, 64.100067 ); + CreateDynamicObject( 638, -1138.970092, -537.831542, 30.428491, 0.000000, 0.000000, 64.100067 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1143.944580, -544.255065, 32.778453, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1143.944580, -544.255065, 30.878456, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1141.188598, -538.554931, 32.778453, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1141.188598, -538.554931, 30.878444, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1141.188598, -538.554931, 28.948434, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1143.941162, -544.246948, 28.948434, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 12958, -1151.738891, -554.224243, 31.562847, 0.000000, 0.000000, 64.099945 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3934, -1153.658447, -549.107849, 34.708515, 0.000000, 0.000000, -25.800003 ), 0, 8396, "sphinx01", "luxorceiling01_128", -16777216 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1150.488037, -556.703796, 29.338512, 0.000000, 90.000000, 64.200119 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1149.552978, -554.676635, 29.338512, 0.000000, 90.000000, 64.200119 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 19899, -1155.688598, -544.987792, 29.702482, 0.000000, 0.000000, -25.799989 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1169.622680, -525.283203, 28.888494, 0.000000, 0.000000, -25.800003 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1171.798583, -529.784973, 28.888494, 0.000000, 0.000000, -25.800003 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1173.979492, -534.295288, 28.888494, 0.000000, 0.000000, -25.800003 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1176.159790, -538.806457, 28.888494, 0.000000, 0.000000, -25.800003 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1178.263427, -543.156433, 28.888494, 0.000000, 0.000000, -25.800003 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1177.091308, -546.509094, 28.888494, 0.000000, 0.000000, 64.199943 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1174.974487, -547.531921, 28.888494, 0.000000, 0.000000, 64.199943 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1166.282226, -524.151733, 28.888494, 0.000000, 0.000000, 64.199943 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19865, -1164.893432, -524.822387, 28.888494, 0.000000, 0.000000, 64.199943 ), 0, 10444, "hotelbackpool_sfs", "ws_glass_balustrade", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1168.221679, -550.324645, 25.977478, 0.000000, -75.000000, -25.800003 ), 0, 12954, "sw_furniture", "CJ_WOOD5", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1157.787719, -528.740844, 25.977478, 0.000000, -75.000000, -25.800003 ), 0, 12954, "sw_furniture", "CJ_WOOD5", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1163.000976, -539.527282, 25.977478, 0.000000, -75.000000, -25.800003 ), 0, 12954, "sw_furniture", "CJ_WOOD5", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1154.061035, -539.365722, 28.278474, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1158.622558, -546.555664, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1153.630371, -538.474304, 31.798503, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1159.878784, -553.287536, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1158.023803, -549.451049, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1159.447875, -552.396240, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1158.360473, -550.145751, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 1491, -1159.584106, -551.796325, 29.722478, 0.000000, 0.000000, 64.499931 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1159.316284, -552.146789, 32.708324, 0.000000, 90.000000, 64.199996 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 1726, -1163.642211, -546.984985, 29.728483, 0.000000, 0.000000, -25.800003 ); + CreateDynamicObject( 16780, -1164.778076, -547.474365, 33.702461, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1726, -1166.892578, -545.413574, 29.708482, 0.000000, 0.000000, -25.800003 ); + CreateDynamicObject( 1726, -1169.758789, -548.240600, 29.708482, 0.000000, 0.000000, 63.800003 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2314, -1167.107788, -550.664855, 29.708482, 0.000000, 0.000000, -25.800003 ), 0, 1515, "dsfs", "CJ_WOOD6", 0 ); + CreateDynamicObject( 19786, -1166.485229, -551.156188, 31.038513, 0.000000, 0.000000, 154.100051 ); + CreateDynamicObject( 2230, -1165.206787, -551.888366, 29.718484, 0.000000, 0.000000, -200.000000 ); + CreateDynamicObject( 2230, -1168.472656, -550.300903, 29.718484, 0.000000, 0.000000, 140.000000 ); + CreateDynamicObject( 1783, -1166.314697, -550.805175, 30.248498, 0.000000, 0.000000, 154.100051 ); + CreateDynamicObject( 2227, -1166.873535, -551.334289, 29.598482, 0.000000, 0.000000, 154.100051 ); + CreateDynamicObject( 2099, -1160.291381, -552.891174, 29.668510, 0.000000, 0.000000, -115.899940 ); + CreateDynamicObject( 2251, -1158.886596, -547.293579, 30.582498, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 2251, -1158.766479, -548.894042, 30.582498, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2315, -1167.212158, -547.292480, 29.708482, 0.000000, 0.000000, -25.800003 ), 0, 1515, "dsfs", "CJ_WOOD6", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2315, -1164.446777, -548.628295, 29.708482, 0.000000, 0.000000, -25.800003 ), 0, 1515, "dsfs", "CJ_WOOD6", 0 ); + CreateDynamicObject( 2169, -1156.521972, -550.172180, 29.718481, 0.000000, 0.000000, -25.800003 ); + CreateDynamicObject( 19893, -1156.061157, -550.386230, 30.512496, 0.000000, 0.000000, -20.399997 ); + CreateDynamicObject( 1714, -1156.362426, -551.224609, 29.718481, 0.000000, 0.000000, 176.599990 ); + CreateDynamicObject( 2298, -1153.453735, -552.494628, 29.718481, 0.000000, 0.000000, -115.600158 ); + CreateDynamicObject( 2812, -1151.294921, -556.529418, 30.232490, 0.000000, 0.000000, 57.499992 ); + CreateDynamicObject( 2828, -1150.111206, -554.094360, 30.232490, 0.000000, 0.000000, 57.499992 ); + CreateDynamicObject( 1736, -1150.702636, -555.245544, 32.302463, 0.000000, 0.000000, -114.200004 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1153.208129, -550.668334, 33.748348, 0.000000, 90.000000, 154.299652 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 1738, -1157.371948, -554.815551, 30.302509, 0.000000, 0.000000, -25.900016 ); + CreateDynamicObject( 2817, -1153.591918, -553.337585, 29.748483, 0.000000, 0.000000, -115.600158 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1159.425415, -546.121276, 30.708444, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1159.425415, -546.121276, 32.558406, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1168.908569, -541.538330, 32.558406, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1168.908569, -541.538330, 30.688396, 0.000000, 0.000000, -115.799934 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + CreateDynamicObject( 19923, -1157.068969, -542.921691, 29.732479, 0.000000, 0.000000, -115.900115 ); + CreateDynamicObject( 19929, -1157.705688, -544.881225, 29.732479, 0.000000, 0.000000, -25.600130 ); + CreateDynamicObject( 19929, -1156.051879, -541.437377, 29.732479, 0.000000, 0.000000, -25.600130 ); + CreateDynamicObject( 19925, -1155.241577, -539.759765, 29.732479, 0.000000, 0.000000, -115.600196 ); + CreateDynamicObject( 19924, -1157.068969, -542.921691, 33.082450, 0.000000, 0.000000, -115.900115 ); + CreateDynamicObject( 19929, -1159.352172, -541.819152, 29.732479, 0.000000, 0.000000, -25.600130 ); + CreateDynamicObject( 2350, -1160.485229, -541.986267, 30.062486, 0.000000, 0.000000, -25.600130 ); + CreateDynamicObject( 2350, -1159.971313, -540.912719, 30.062486, 0.000000, 0.000000, -25.600130 ); + CreateDynamicObject( 2839, -1159.352172, -541.819152, 30.662490, 0.000000, 0.000000, -103.900115 ); + CreateDynamicObject( 2830, -1158.975341, -541.006042, 30.662490, 0.000000, 0.000000, -103.900115 ); + CreateDynamicObject( 2830, -1159.770629, -542.426391, 30.662490, 0.000000, 0.000000, -103.900115 ); + CreateDynamicObject( 19566, -1156.182006, -541.955200, 30.672500, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19565, -1156.095581, -541.741821, 30.672500, 0.000000, 0.000000, -21.999998 ); + CreateDynamicObject( 19585, -1157.256835, -542.787109, 30.912506, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19586, -1157.271728, -542.103637, 30.722501, 0.000000, 9.399997, 29.099998 ); + CreateDynamicObject( 19830, -1155.507080, -540.669006, 30.642499, 0.000000, 0.000000, -70.099998 ); + CreateDynamicObject( 11743, -1157.985229, -545.856323, 30.662500, 0.000000, 0.000000, -176.800125 ); + CreateDynamicObject( 1808, -1154.291015, -538.161376, 29.732479, 0.000000, 0.000000, -116.100082 ); + CreateDynamicObject( 19831, -1177.842163, -544.993835, 29.727479, 0.000000, 0.000000, 132.199981 ); + CreateDynamicObject( 19573, -1177.277465, -545.240722, 29.737480, 0.000000, 0.000000, 74.799972 ); + CreateDynamicObject( 1281, -1173.784179, -542.421386, 30.577501, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1824, -1167.236572, -527.473571, 30.177490, 0.000000, 0.000000, 64.299980 ); + CreateDynamicObject( 1723, -1169.619750, -527.326904, 29.687480, 0.000000, 0.000000, 64.299980 ); + CreateDynamicObject( 1723, -1164.751586, -527.455810, 29.687480, 0.000000, 0.000000, -116.199981 ); + CreateDynamicObject( 638, -1174.407348, -536.153808, 30.372493, 0.000000, 0.000000, -25.800010 ); + CreateDynamicObject( 638, -1172.752807, -532.731384, 30.372493, 0.000000, 0.000000, -25.800010 ); + CreateDynamicObject( 2627, -1166.327880, -542.045471, 29.727481, 0.000000, 0.000000, -4.299999 ); + CreateDynamicObject( 2630, -1169.257202, -543.712768, 29.727481, 0.000000, 0.000000, 39.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18762, -1159.732910, -534.445312, 32.208484, 0.000000, 0.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2629, -1163.400146, -528.954772, 29.738466, 0.000000, 0.000000, 64.299942 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 2628, -1164.194946, -530.948791, 29.738466, 0.000000, 0.000000, 64.299942 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 2915, -1163.303955, -528.756286, 29.808467, 0.000000, 0.000000, 64.299942 ); + CreateDynamicObject( 2913, -1164.079711, -529.117614, 30.718460, 0.000000, 90.000000, 64.299942 ); + CreateDynamicObject( 2842, -1162.602905, -533.080444, 29.718465, 0.000000, 0.000000, 64.299942 ); + SetDynamicObjectMaterial( CreateDynamicObject( 16151, -1149.071289, -541.852905, 30.082487, 0.000000, 0.000000, -115.899925 ), 7, 8395, "pyramid", "white", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1162.736450, -539.666076, 29.241504, 0.000000, 90.000000, -25.800003 ), 0, 13691, "bevcunto2_lahills", "desgreengrass", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1162.736816, -539.643737, 29.235502, 0.000000, 90.000000, -25.800003 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1169.743041, -540.266357, 30.698453, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1166.602783, -533.795349, 30.688453, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19466, -1166.602783, -533.795349, 32.598423, 0.000000, 0.000000, -25.800003 ), 0, 3595, "dingbat01_la", "nt_bonav1", 0 ); + CreateDynamicObject( 19903, -1156.735961, -547.703369, 29.712478, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 19917, -1153.947875, -542.974670, 29.732479, 0.000000, 0.000000, -45.800003 ); + CreateDynamicObject( 1083, -1155.400024, -544.327941, 31.252513, 0.000000, 0.000000, -28.000005 ); + CreateDynamicObject( 1010, -1155.400024, -544.327941, 31.772525, 0.000000, 0.000000, -109.700012 ); + CreateDynamicObject( 1010, -1155.902221, -545.731079, 31.322515, 0.000000, 0.000000, -109.700012 ); + CreateDynamicObject( 1010, -1155.902221, -545.731079, 30.972507, 0.000000, 0.000000, -109.700012 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -1162.534179, -539.791015, 34.238533, 0.000000, 90.000000, 64.200019 ), 0, 8396, "sphinx01", "luxorceiling01_128", -16777216 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -1156.967651, -542.487731, 34.218532, 0.000000, 90.000000, -25.800003 ), 0, 10835, "navybasefence", "ws_oldpainted", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 16151, -1149.044189, -541.866088, 30.082487, 0.000000, 0.000000, -115.899925 ), 7, 8395, "pyramid", "white", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 16151, -1149.066650, -541.866271, 30.092487, 0.000000, 0.000000, -115.899925 ), 8, 8395, "pyramid", "white", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -1156.328247, -549.140808, 29.302549, 0.000000, 90.000000, -25.999990 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + CreateDynamicObject( 1491, -1153.913940, -549.861267, 29.750045, 0.000000, 0.000000, -25.000028 ); + + // Livboeree City Entrance + CreateDynamicObject( 1557, -1960.173217, 744.275512, 44.435440, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3525, -1960.619140, 744.071289, 45.986831, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3525, -1956.717285, 744.071289, 45.986831, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1557, -1957.143920, 744.275512, 44.435440, 0.000000, 0.000000, 180.000000 ); + CreateDynamicObject( 3524, -1958.652587, 745.158569, 45.350330, 23.300001, 0.000000, 0.000000 ); + + // Laptop Driving School Warehouse Staircase + CreateDynamicObject( 12987, -2107.082031, -10.515501, 37.370265, 0.000000, 0.000000, 90.000000 ); + + // Desperado Golf Course + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1386.677001, 2864.668212, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1325.188598, 2864.668212, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1262.699951, 2864.668212, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1200.210937, 2864.668212, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1145.278808, 2864.668212, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1114.027343, 2833.427490, 9.910305, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1145.278808, 2723.201171, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1207.759399, 2723.201171, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1270.237670, 2723.201171, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1332.728027, 2723.201171, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1395.198974, 2723.201171, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1437.321533, 2730.696044, -15.399697, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1406.070678, 2723.203125, 9.912305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1417.921386, 2872.144287, -13.849680, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1417.923339, 2875.586914, -13.847681, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1449.168090, 2883.083984, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1503.315795, 2883.082031, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.562866, 2875.586914, -13.847681, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.564819, 2873.378662, -13.845682, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.557983, 2834.638671, 9.910305, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.557983, 2814.470703, 9.910305, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.562866, 2755.796142, -13.847681, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.562866, 2740.816162, -13.847681, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1534.562866, 2730.783447, -13.847681, 90.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1503.315795, 2723.217285, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1459.515869, 2723.217285, 9.910305, 0.000000, 90.000000, 90.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, 1527.579467, 2762.742675, 12.878524, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, 1532.071777, 2762.742675, 12.878524, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, 1532.071777, 2783.737304, 12.878524, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, 1527.140502, 2783.737304, 12.878524, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", 1 ); + CreateDynamicObject( 3749, 1525.654052, 2773.209716, 15.650959, 0.000000, 0.000000, 90.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2827.832763, 9.770310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2837.472656, 9.770310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2847.112548, 9.770310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2856.752441, 9.770310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2866.392333, 9.770310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2876.032226, 9.770310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.192871, 2877.944091, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1433.692871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1444.192871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1454.692871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1465.192871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1475.692871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1486.192871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1496.692871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1507.192871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1517.692871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1528.192871, 2877.783935, 9.772310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2877.783935, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2868.144042, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2858.504150, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2848.864257, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2839.224365, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2829.584472, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2819.944580, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2810.304687, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2800.664794, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2791.024902, 9.774310, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1529.143798, 2789.093017, 9.776309, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1518.941894, 2789.093017, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1482.862915, 2839.497314, 9.841311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1518.941894, 2798.721435, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1462.768554, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1473.248901, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1434.553100, 2838.794189, 9.832310, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1434.553100, 2841.794189, 9.831311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1465.782836, 2841.794189, 9.831311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1465.782836, 2844.794189, 9.829311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1496.902099, 2841.794189, 9.831311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1496.902099, 2844.794189, 9.832310, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1513.501708, 2841.794189, 9.833311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19853, 1513.501708, 2844.794189, 9.831311, 0.000000, 0.000000, 0.000000 ), 0, 3975, "lanbloke", "p_floor3", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1483.748291, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1494.248046, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1504.718505, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1515.196899, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1522.488403, 2813.065429, 9.780308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1518.669067, 2803.444824, 9.780308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1512.400512, 2803.006591, 9.758309, 0.000000, 90.000000, 24.799985 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1504.831054, 2809.192382, 9.764310, 0.000000, 90.000000, -33.099990 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1513.601806, 2803.474365, 9.772310, 0.000000, 90.000000, -33.099990 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1515.747192, 2796.075683, 9.776300, 0.000000, 90.000000, -64.099990 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1452.289794, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1441.791015, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1431.310424, 2813.065429, 9.778308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1424.048217, 2812.364746, 9.780308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1423.607788, 2818.246093, 9.783308, 0.000000, 90.000000, 90.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19377, 1434.548461, 2803.445068, 9.780308, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 7605, 1485.718872, 2773.220458, 9.749738, 0.000000, 0.000000, 0.000000 ), 3, 6291, "law2_roadsb", "rodeo3sjm", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 7605, 1485.718872, 2773.220458, 9.743739, 0.000000, 0.000000, 0.000000 ), 2, 6291, "law2_roadsb", "rodeo3sjm", 0 ); + CreateDynamicObject( 657, 1529.428344, 2757.546386, 9.937848, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 657, 1531.340209, 2751.001464, 9.937848, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 657, 1531.340209, 2744.001464, 9.937848, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 657, 1531.340209, 2737.001464, 9.937848, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 657, 1531.340209, 2730.001464, 9.937848, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 865, 1481.045654, 2734.387939, 9.930318, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 865, 1512.376220, 2734.387939, 9.930318, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 865, 1498.805908, 2729.686767, 9.930318, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 865, 1524.536499, 2756.869140, 9.930318, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 865, 1517.251342, 2757.447998, 9.930318, 0.000000, 0.000000, -67.599983 ); + CreateDynamicObject( 865, 1521.066650, 2750.927490, 9.930318, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 819, 1521.066650, 2739.377197, 8.620317, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 819, 1507.365966, 2735.944091, 8.620317, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 819, 1492.795654, 2732.983642, 8.620317, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 819, 1513.665649, 2750.354736, 8.620317, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 819, 1476.215454, 2730.723632, 8.620317, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 819, 1486.386230, 2730.723632, 8.620317, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 657, 1461.244873, 2727.956054, 10.007850, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 657, 1470.855346, 2727.956054, 10.007850, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 7885, 1435.887939, 2773.814453, 9.817221, 0.000000, 0.000000, 0.000000 ), 0, 4821, "union_las", "lasjmroof", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 7885, 1435.867919, 2773.764404, 9.819223, 0.000000, 0.000000, 0.000000 ), 0, 4821, "union_las", "lasjmroof", -16 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1114.027343, 2771.401611, 9.910305, 0.000000, 90.000000, 0.000000 ), 0, 13681, "lahillshilhs1e", "veg_hedge1_256", -16 ); + CreateDynamicObject( 3749, 1112.182128, 2732.390869, 15.500294, 0.000000, 0.000000, 90.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1145.278808, 2864.668212, 13.910305, 0.000000, 90.000000, 90.000000 ), 0, 4821, "union_las", "lasjmroof", 1 ); + SetDynamicObjectMaterial( CreateDynamicObject( 19545, 1114.027343, 2833.427490, 13.910305, 0.000000, 90.000000, 0.000000 ), 0, 4821, "union_las", "lasjmroof", 1 ); + CreateDynamicObject( 3515, 1485.569946, 2783.517578, 9.089410, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 3515, 1485.569946, 2762.253417, 9.089410, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 6965, 1482.927368, 2773.662841, 12.789418, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2829.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2834.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2839.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2844.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2849.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2854.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2859.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2864.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1512.944335, 2824.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2864.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2859.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2854.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2849.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2844.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2839.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1439.792236, 2834.568115, 9.053304, 0.000000, 0.000000, 0.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1455.281860, 2864.638183, 9.053304, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1455.281860, 2864.638183, 9.053304, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1460.281860, 2864.638183, 9.053304, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1465.281860, 2864.638183, 9.053304, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1470.281860, 2864.638183, 9.073306, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1475.281860, 2864.638183, 9.093305, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1480.281860, 2864.638183, 9.093305, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1485.281860, 2864.638183, 9.093305, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1490.281860, 2864.638183, 9.093305, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 3578, 1495.281860, 2864.638183, 9.093305, 0.000000, 0.000000, 90.000000 ), 0, 16150, "ufo_bar", "GEwhite1_64", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18765, 1374.174804, 2830.413085, 7.554707, 0.000000, 0.000000, 0.000000 ), 0, 6056, "venice_law", "stonewall_la", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18765, 1377.752563, 2810.685546, 7.554707, 0.000000, 0.000000, 45.000000 ), 0, 6056, "venice_law", "stonewall_la", 0 ); + CreateDynamicObject( 3934, 1377.752563, 2810.685546, 10.044722, 0.000000, 0.000000, 45.000000 ); + CreateDynamicObject( 3934, 1374.174804, 2830.413085, 10.054714, 0.000000, 0.000000, 0.000000 ); + + // Desperado LV Ammunation + CreateDynamicObject( 3852, 2595.164550, 2091.668212, 16.132020, 0.000000, 0.000000, 180.000000 ); + CreateDynamicObject( 1497, 2593.421875, 2090.927734, 14.665023, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 3934, 2583.643798, 2092.036132, 14.663372, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 1497, 2576.164794, 2082.853759, 9.782969, 0.000000, 0.000000, 0.000000 ); + CreateDynamicObject( 4084, 2575.230712, 2074.965087, 11.602993, 0.000000, 0.000000, 180.000000 ); + CreateDynamicObject( 1498, 2575.275146, 2070.044677, 9.740296, 0.000000, 0.000000, 90.000000 ); return 1; } @@ -26,16 +709,8 @@ CMD:cakeiscool( playerid, params[] ) return 1; } -CMD:warehouseshit(playerid, params[]) -{ - RemoveBuildingForPlayer(playerid, 17350, -54.9922, -1130.7266, 4.5781, 0.25); - RemoveBuildingForPlayer(playerid, 17072, -54.9922, -1130.7266, 4.5781, 0.25); - RemoveBuildingForPlayer(playerid, 17073, -56.1250, -1130.1719, 4.4922, 0.25); - RemoveBuildingForPlayer(playerid, 1415, -68.3516, -1104.9922, 0.2188, 0.25); - RemoveBuildingForPlayer(playerid, 1462, -60.3594, -1116.9375, 0.2578, 0.25); - RemoveBuildingForPlayer(playerid, 1438, -63.6719, -1125.6953, 0.0469, 0.25); - RemoveBuildingForPlayer(playerid, 1438, -63.4141, -1115.4141, 0.0469, 0.25); - RemoveBuildingForPlayer(playerid, 1415, -63.8125, -1106.4219, 0.2188, 0.25); +CMD:lorenzobenzo( playerid, params[]) { + RemoveBuildingForPlayer(playerid, 10280, -2051.6563, 998.6094, 64.3281, 0.25); return 1; } @@ -46,5 +721,14 @@ public OnFilterScriptExit() public OnPlayerConnect(playerid) { + // Zach Warehouse + RemoveBuildingForPlayer(playerid, 17350, -54.9922, -1130.7266, 4.5781, 0.25); + RemoveBuildingForPlayer(playerid, 17072, -54.9922, -1130.7266, 4.5781, 0.25); + RemoveBuildingForPlayer(playerid, 17073, -56.1250, -1130.1719, 4.4922, 0.25); + RemoveBuildingForPlayer(playerid, 1415, -68.3516, -1104.9922, 0.2188, 0.25); + RemoveBuildingForPlayer(playerid, 1462, -60.3594, -1116.9375, 0.2578, 0.25); + RemoveBuildingForPlayer(playerid, 1438, -63.6719, -1125.6953, 0.0469, 0.25); + RemoveBuildingForPlayer(playerid, 1438, -63.4141, -1115.4141, 0.0469, 0.25); + RemoveBuildingForPlayer(playerid, 1415, -63.8125, -1106.4219, 0.2188, 0.25); return 1; } diff --git a/gamemodes/sf-cnr.pwn b/gamemodes/sf-cnr.pwn index 66f5a2f..52fa885 100644 --- a/gamemodes/sf-cnr.pwn +++ b/gamemodes/sf-cnr.pwn @@ -69,6 +69,7 @@ native gpci ( playerid, serial[ ], len ); /* ** Useful macros ** */ #define function%1(%2) forward%1(%2); public%1(%2) +#define DQCMD:%1(%2) forward discord_%1(%2); public discord_%1(%2) #define RandomEx(%0,%1) (random((%1) - (%0)) + (%0)) #define HOLDING(%0) ((newkeys & (%0)) == (%0)) #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) @@ -146,10 +147,8 @@ new bool: False = false, szNormalString[ 144 ]; do{foreach(new fI : Player){if (p_Class[fI]==CLASS_MEDIC)format(szNormalString,sizeof(szNormalString),(%2),%3),SendClientMessage(fI,(%1),szNormalString);}}while(False) #define SendClientMessageToPaintball(%0,%1,%2,%3)\ do{foreach(new fI : Player){if (p_inPaintBall{fI}&&p_PaintBallArena{fI}==(%0))format(szNormalString,sizeof(szNormalString),(%2),%3),SendClientMessage(fI,(%1),szNormalString);}}while(False) -/*#define IRC_GroupSayFormatted(%0,%1,%2,%3)\ - do{format(szNormalString,sizeof(szNormalString),(%2),%3),IRC_GroupSay(%0,%1,szNormalString);}while(False) -#define IRC_NoticeFormatted(%0,%1,%2,%3)\ - do{format(szNormalString,sizeof(szNormalString),(%2),%3),IRC_Notice(%0,%1,szNormalString);}while(False)*/ +#define Discord_SayFormatted(%0,%1,%2)\ + do{format(szNormalString,sizeof(szNormalString),(%1),%2),Discord_Say(%0,szNormalString);}while(False) #define mysql_single_query(%0) mysql_function_query(dbHandle,(%0),true,"","") #define SetPlayerPosEx(%0,%1,%2,%3,%4) SetPlayerPos(%0,%1,%2,%3),SetPlayerInterior(%0,%4) @@ -455,21 +454,16 @@ const #define CP_DROP_OFF_FBI ( 37 ) #define CP_DROP_OFF_HELI ( 38 ) -/* ** IRC ** -#define IRC_PORT (6667) -#define IRC_CHANNEL "#sf-cnr" -#define IRC_BOT_PW "UDP64PT2rURdXBv" -#define MAX_BOTS (2) +/* ** Discord ** */ +#include -#define BOT_1_NICKNAME "ig_a" -#define BOT_1_REALNAME "ig_a" -#define BOT_1_USERNAME "bot" +#define DISCORD_GENERAL "191078670360641536" +#define DISCORD_ADMINISTRATION "191133046194438144" -#define BOT_2_NICKNAME "ig_b" -#define BOT_2_REALNAME "ig_b" -#define BOT_2_USERNAME "bot" - -new gBotID [MAX_BOTS], gGroupID;*/ +new + Socket: discordListener, + Socket: discord +; /* ** Random Messages ** */ stock const @@ -575,7 +569,6 @@ new Text: g_SlotMachineBoxTD [ 2 ] = { Text: INVALID_TEXT_DRAW, ... }, Text: g_TopDonorTD = Text: INVALID_TEXT_DRAW, Text: g_NotManyPlayersTD = Text: INVALID_TEXT_DRAW, - Text: g_EasterTD [ 2 ] = { Text: INVALID_TEXT_DRAW, ... }, // Player Textdraws PlayerText: p_LocationTD [ MAX_PLAYERS ] = { PlayerText: INVALID_TEXT_DRAW, ... }, @@ -2356,7 +2349,7 @@ new ; /* ** Easter Eggs ** */ -#define ENABLED_EASTER_EGG ( true ) +#define ENABLED_EASTER_EGG ( false ) #if ENABLED_EASTER_EGG == true #define EASTEREGG_LABEL "[EASTER EGG]" @@ -3350,9 +3343,6 @@ public OnGameModeInit() AddServerVariable( "doublexp", "0", GLOBAL_VARTYPE_INT ); AddServerVariable( "eventbank", "0", GLOBAL_VARTYPE_INT ); AddServerVariable( "eventhost", "0", GLOBAL_VARTYPE_INT ); - // AddServerVariable( "mayor", "0", GLOBAL_VARTYPE_INT ); - // AddServerVariable( "mayor_timeout", "0", GLOBAL_VARTYPE_INT ); - // AddServerVariable( "mayor_timestamp", "0", GLOBAL_VARTYPE_INT ); AddServerVariable( "vip_discount", "1.0", GLOBAL_VARTYPE_FLOAT ); AddServerVariable( "vip_bonus", "0.0", GLOBAL_VARTYPE_FLOAT ); AddServerVariable( "proxyban", "0", GLOBAL_VARTYPE_INT ); @@ -3451,12 +3441,20 @@ public OnGameModeInit() AddPlayerClass( 284, default_X, default_Y, default_Z, default_Angle, 0, 0, 0, 0, 0, 0 ); // 72 AddPlayerClass( 307, default_X, default_Y, default_Z, default_Angle, 0, 0, 0, 0, 0, 0 ); // 73 - /* ** IRC configuration ** - gBotID[ 0 ] = IRC_Connect( IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME ); - IRC_SetIntData( gBotID[ 0 ], E_IRC_CONNECT_DELAY, 40 ); - gBotID[ 1 ] = IRC_Connect( IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME ); - IRC_SetIntData( gBotID[ 0 ], E_IRC_CONNECT_DELAY, 60 ); - gGroupID = IRC_CreateGroup( );*/ + /* ** Discord configuration ** */ + if ( is_socket_valid( ( discord = socket_create( TCP ) ) ) ) { // begin launching tcp + socket_connect(discord, "127.0.0.1", 8000); + print( "Discord TCP has successfully connected!" ); + } + + if ( is_socket_valid( ( discordListener = socket_create( TCP ) ) ) ) { // begin creating discord listener + socket_set_max_connections(discordListener, 10); + socket_bind(discordListener, "127.0.0.1"); + socket_listen(discordListener, 3939); + print( "Discord listener has successfully started listening!" ); + } + + Discord_Say( DISCORD_GENERAL, "**Loaded discord for SA-MP by Lorenc and XFlawless**" ); /* ** Robbery Points ** */ CreateRobberyCheckpoint( "Bank of San Fierro - Safe 1", 5000, -1400.84180, 862.85895, 984.17200, -90.00000, g_bankvaultData[ CITY_SF ] [ E_WORLD ] ); @@ -4886,6 +4884,9 @@ public OnGameModeExit( ) KillTimer( rl_ZoneUpdate ); for( new t; t != MAX_TEXT_DRAWS; t++ ) TextDrawDestroy( Text: t ); //SendRconCommand( "exit" ); + socket_stop_listen(discordListener); + socket_destroy(discordListener); + socket_destroy(discord); return 1; } @@ -5759,8 +5760,6 @@ public OnPlayerRequestClass( playerid, classid ) TextDrawHideForPlayer( playerid, g_WebsiteTD ); PlayerTextDrawHide( playerid, p_WantedLevelTD[ playerid ] ); TextDrawHideForPlayer( playerid, g_MotdTD ); - TextDrawHideForPlayer( playerid, g_EasterTD[0] ); - TextDrawHideForPlayer( playerid, g_EasterTD[1] ); TextDrawHideForPlayer( playerid, g_NotManyPlayersTD ); TextDrawHideForPlayer( playerid, p_FPSCounterTD[ playerid ] ); TextDrawHideForPlayer( playerid, g_AdminOnDutyTD ); @@ -6185,12 +6184,14 @@ thread OnPlayerMegaBanCheck( playerid ) format( szNormalString, sizeof( szNormalString ), "%s(%d) has connected to the server!", ReturnPlayerName( playerid ), playerid ); } - // IRC_GroupSay( gGroupID, IRC_CHANNEL, szNormalString ); foreach(new i : Player) { if ( p_PlayerSettings[ i ] { SETTING_CONNECTION_LOG } ) SendClientMessage( i, COLOR_CONNECT, szNormalString ); } + + format( szNormalString, sizeof( szNormalString ), "*%s*", szNormalString ); + Discord_Say( DISCORD_GENERAL, szNormalString ); } return 1; } @@ -6408,7 +6409,6 @@ public OnPlayerDisconnect( playerid, reason ) case 2: color = COLOR_KICK, format( string, sizeof( string ), "%s(%d) has been kicked from the server!", ReturnPlayerName( playerid ), playerid ); } - //IRC_GroupSay( gGroupID, IRC_CHANNEL, string ); for( new i; i < MAX_PLAYERS; i++ ) { @@ -6424,6 +6424,9 @@ public OnPlayerDisconnect( playerid, reason ) p_BlockedPM[ playerid ] [ i ] = false; } + + format( string, sizeof( string ), "*%s*", string ); + Discord_Say( DISCORD_GENERAL, string ); return 1; } @@ -6456,8 +6459,6 @@ public OnPlayerSpawn( playerid ) PlayerTextDrawShow( playerid, p_ExperienceTD[ playerid ] ); TextDrawShowForPlayer( playerid, g_WebsiteTD ); TextDrawShowForPlayer( playerid, g_MotdTD ); - TextDrawShowForPlayer( playerid, g_EasterTD[0] ); - TextDrawShowForPlayer( playerid, g_EasterTD[1] ); if ( g_HappyHour ) TextDrawShowForPlayer( playerid, g_NotManyPlayersTD ); TextDrawShowForPlayer( playerid, g_WorldDayTD ); if ( p_AdminOnDuty{ playerid } ) TextDrawShowForPlayer( playerid, g_AdminOnDutyTD ); @@ -7023,9 +7024,11 @@ public OnPlayerTakePlayerDamage( playerid, issuerid, &Float: amount, weaponid, b return 1; // Need damage to pass through } - if ( p_Class[ issuerid ] == CLASS_POLICE && p_Class[ playerid ] != CLASS_POLICE && !p_WantedLevel[ playerid ] && GetPlayerState( playerid ) != PLAYER_STATE_WASTED ) { + /*if ( p_Class[ issuerid ] == CLASS_POLICE && p_Class[ playerid ] != CLASS_POLICE && !p_WantedLevel[ playerid ] && GetPlayerState( playerid ) != PLAYER_STATE_WASTED ) { ShowPlayerHelpDialog( issuerid, 2000, "You should not hurt innocent civilians, you're a ~b~cop~w~~h~!" ); - } + }*/ + if ( p_Class[ issuerid ] == CLASS_POLICE && p_Class[ playerid ] != CLASS_POLICE && !p_WantedLevel[ playerid ] && GetPlayerState( playerid ) != PLAYER_STATE_WASTED && ! IsPlayerInEvent( issuerid ) ) + return ShowPlayerHelpDialog( playerid, 2000, "You cannot hurt innocent civilians, you're a ~b~cop~w~~h~!" ), 0; // Heal player (paramedic) if ( p_Class[ issuerid ] == CLASS_MEDIC && weaponid == WEAPON_SPRAYCAN ) @@ -7245,8 +7248,6 @@ public OnPlayerDeath(playerid, killerid, reason) TextDrawHideForPlayer( playerid, g_NotManyPlayersTD ); TextDrawHideForPlayer( playerid, p_FPSCounterTD[ playerid ] ); TextDrawHideForPlayer( playerid, g_AdminOnDutyTD ); - TextDrawHideForPlayer( playerid, g_EasterTD[0] ); - TextDrawHideForPlayer( playerid, g_EasterTD[1] ); TextDrawHideForPlayer( playerid, g_WorldDayTD ); TextDrawHideForPlayer( playerid, g_AdminLogTD ); TextDrawHideForPlayer( playerid, g_DoubleXPTD ); @@ -7336,7 +7337,7 @@ public OnPlayerDeath(playerid, killerid, reason) return 1; } - //IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "7%s(%d) has killed %s(%d) - %s!", ReturnPlayerName( killerid ), killerid, ReturnPlayerName( playerid ), playerid, ReturnWeaponName( reason ) ); + Discord_SayFormatted( DISCORD_GENERAL, "*%s(%d) has killed %s(%d) - %s!*", ReturnPlayerName( killerid ), killerid, ReturnPlayerName( playerid ), playerid, ReturnWeaponName( reason ) ); if ( !IsPlayerAdminOnDuty( killerid ) ) { @@ -7456,7 +7457,7 @@ public OnPlayerDeath(playerid, killerid, reason) else if ( IsPlayerNPC( killerid ) ) SendDeathMessage( killerid, playerid, reason ); else { - //IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "7%s(%d) has committed suicide!", ReturnPlayerName( playerid ), playerid ); + Discord_SayFormatted( DISCORD_GENERAL, "*%s(%d) has committed suicide!*", ReturnPlayerName( playerid ), playerid ); SendDeathMessage( INVALID_PLAYER_ID, playerid, 53 ); DeletePVar( playerid, "used_cmd_kill" ); } @@ -7536,101 +7537,6 @@ public OnPlayerUnjailed( playerid, reasonid ) return 1; } -/*public IRC_OnConnect(botid, ip[], port) -{ - //printf("IRC_OnConnect(%d, %s, %d)", botid, ip, port); - IRC_JoinChannel(botid, IRC_CHANNEL); - IRC_AddToGroup(gGroupID, botid); - return 1; -} - -public IRC_OnDisconnect(botid, ip[], port, reason[]) -{ - //printf("IRC_OnDisconnect(%d, %s, %d, %s)", botid, ip, port, reason); - IRC_RemoveFromGroup(gGroupID, botid); - return 1; -} - -public IRC_OnConnectAttempt(botid, ip[], port) -{ - //printf("IRC_OnConnectAttempt(%d, %s, %d)", botid, ip, port); - return 1; -} - -public IRC_OnJoinChannel(botid, channel[]) -{ - IRC_SendRaw( botid, "ns identify " #IRC_BOT_PW ); // CHANGE THIS IF NEEDED! - return 1; -} - -public IRC_OnLeaveChannel(botid, channel[], message[]) -{ - IRC_JoinChannel(botid, channel); - return 1; -} - -public IRC_OnKickedFromChannel(botid, channel[], oppeduser[], oppedhost[], message[]) -{ - IRC_JoinChannel(botid, channel); - return 1; -} - -public IRC_OnUserDisconnect(botid, user[], host[], message[]) -{ - return 1; -} - -public IRC_OnUserJoinChannel(botid, channel[], user[], host[]) -{ - return 1; -} - -public IRC_OnUserLeaveChannel(botid, channel[], user[], host[], message[]) -{ - return 1; -} - -public IRC_OnUserKickedFromChannel(botid, channel[], kickeduser[], oppeduser[], oppedhost[], message[]) -{ - return 1; -} - -public IRC_OnUserNickChange(botid, oldnick[], newnick[], host[]) -{ - return 1; -} - -public IRC_OnUserSetChannelMode(botid, channel[], user[], host[], mode[]) -{ - return 1; -} - -public IRC_OnUserSetChannelTopic(botid, channel[], user[], host[], topic[]) -{ - return 1; -} - -public IRC_OnUserSay(botid, recipient[], user[], host[], message[]) -{ - return 1; -} - -public IRC_OnUserNotice(botid, recipient[], user[], host[], message[]) -{ - return 1; -} - -public IRC_OnUserReplyCTCP(botid, user[], host[], message[]) -{ - return 1; -} - -public IRC_OnReceiveRaw( botid, message[ ] ) -{ - //printf("IRC_OnReceiveRaw( %d, %s )", botid, message ); - return 1; -}*/ - public OnPlayerText( playerid, text[ ] ) { new @@ -7740,7 +7646,7 @@ public OnPlayerText( playerid, text[ ] ) { if ( p_VIPLevel[ playerid ] > 0 ) { - //IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "9(VIP) %s(%d):3 %s", ReturnPlayerName( playerid ), playerid, text[ 1 ] ); + Discord_SayFormatted( DISCORD_GENERAL, "__**(VIP) %s(%d):**__ %s", ReturnPlayerName( playerid ), playerid, text[ 1 ] ); SendClientMessageToAllFormatted( 0x3eff3eff, "[VIP] %s(%d):{9ec34f} %s", ReturnPlayerName( playerid ), playerid, text[ 1 ] ); return 0; } @@ -7755,7 +7661,7 @@ public OnPlayerText( playerid, text[ ] ) } } } - //IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "%d%s(%d): %s", p_Class[ playerid ] == CLASS_POLICE ? 12 : 4, ReturnPlayerName( playerid ), playerid, text ); + Discord_SayFormatted( DISCORD_GENERAL, "**%s(%d):** %s", ReturnPlayerName( playerid ), playerid, text ); // p_Class[ playerid ] == CLASS_POLICE ? 12 : 4 return 1; } @@ -10153,7 +10059,7 @@ CMD:vsay( playerid, params[ ] ) return SendError( playerid, "You cannot speak as you are muted for %s.", secondstotime( p_MutedTime[ playerid ] - time ) ); } - //IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "9(VIP) %s(%d):3 %s", ReturnPlayerName( playerid ), playerid, msg ); + Discord_SayFormatted( DISCORD_GENERAL, "__**(VIP) %s(%d):**__ %s", ReturnPlayerName( playerid ), playerid, msg ); SendClientMessageToAllFormatted( 0x3eff3eff, "[VIP] %s(%d):{9ec34f} %s", ReturnPlayerName( playerid ), playerid, msg ); } return 1; @@ -11079,7 +10985,7 @@ thread OnPlayerLastLogged( playerid, irc, player[ ] ) if ( !irc ) SendClientMessageFormatted( playerid, COLOR_GREY, "[SERVER]"COL_RED" %s:"COL_WHITE" Last Logged: %s", player, Field ); else { format( szNormalString, sizeof( szNormalString ),"7LAST LOGGED OF '%s': %s", player, Field ); - //IRC_GroupSay( gGroupID, IRC_CHANNEL, szNormalString ); + Discord_Say( DISCORD_GENERAL, szNormalString ); } } else { @@ -11119,7 +11025,7 @@ thread OnPlayerWeeklyTime( playerid, irc, player[ ] ) else { format( szNormalString, sizeof( szNormalString ),"7WEEKLY TIME OF '%s': %s", player, secondstotime( iCurrentUptime - iLastUptime ) ); - //IRC_GroupSay( gGroupID, IRC_CHANNEL, szNormalString ); + Discord_Say( DISCORD_GENERAL, szNormalString ); } } else @@ -11313,8 +11219,6 @@ CMD:moviemode( playerid, params[ ] ) if ( p_AdminOnDuty{ playerid } ) TextDrawShowForPlayer( playerid, g_AdminOnDutyTD ); TextDrawShowForPlayer( playerid, g_WorldDayTD ); ShowPlayerIrresistibleRank( playerid ); - TextDrawShowForPlayer( playerid, g_EasterTD[0] ); - TextDrawShowForPlayer( playerid, g_EasterTD[1] ); for( new i; i < sizeof( g_MovieModeTD ); i ++ ) TextDrawHideForPlayer( playerid, g_MovieModeTD[ i ] ); p_inMovieMode{ playerid } = false; SendServerMessage( playerid, "Movie mode has been un-toggled." ); @@ -11323,8 +11227,6 @@ CMD:moviemode( playerid, params[ ] ) { HidePlayerTogglableTextdraws( playerid ); TextDrawHideForPlayer( playerid, g_CurrentRankTD ); - TextDrawHideForPlayer( playerid, g_EasterTD[0] ); - TextDrawHideForPlayer( playerid, g_EasterTD[1] ); TextDrawHideForPlayer( playerid, g_currentXPTD ); PlayerTextDrawHide( playerid, p_LocationTD[ playerid ] ); PlayerTextDrawHide( playerid, p_ExperienceTD[ playerid ] ); @@ -11536,27 +11438,21 @@ CMD:rules( playerid, params[ ] ) return 1; } -/*CMD:irc( playerid, params[ ] ) -{ - SendServerMessage( playerid, "Our IRC server IP is {C0C0C0}" #IRC_SERVER "{FFFFFF} and our channel is {C0C0C0}" #IRC_CHANNEL "{FFFFFF}." ); - return 1; -} - -CMD:ircpm( playerid, params[ ] ) +CMD:discordpm( playerid, params[ ] ) { new msg[ 128 ]; - if ( sscanf( params, "s[100]", msg ) ) SendUsage( playerid, "/ircpm [message]" ); + if ( sscanf( params, "s[100]", msg ) ) SendUsage( playerid, "/discordpm [message]" ); else { Beep( playerid ); - format( msg, sizeof( msg ), "10[IRC PM]5%s(%d): %s", ReturnPlayerName( playerid ), playerid, msg ); - IRC_GroupSay( gGroupID, IRC_CHANNEL, msg ); - SendServerMessage( playerid, "Your typed message has been sent to the IRC channel!" ); + format( msg, sizeof( msg ), "__[Discord PM]__ **%s(%d):** %s", ReturnPlayerName( playerid ), playerid, msg ); + Discord_Say( DISCORD_GENERAL, msg ); + SendServerMessage( playerid, "Your typed message has been sent to the Discord #general channel!" ); } return 1; -}*/ +} CMD:perks( playerid, params[ ] ) { @@ -11625,10 +11521,11 @@ CMD:eject( playerid, params[ ] ) else if ( pID == playerid ) return SendError( playerid, "This command is created for ejecting passengers only." ); else if ( GetPlayerVehicleID( pID ) != GetPlayerVehicleID( playerid ) ) return SendError( playerid, "This player isn't inside your vehicle" ); else if ( GetPlayerState( playerid ) != PLAYER_STATE_DRIVER ) return SendError( playerid, "You are not the driver of this vehicle." ); - else if ( p_Detained{ pID } ) return SendError( playerid, "This player has his cuffs locked onto his seat. You can't eject him." ); + //else if ( p_Detained{ pID } ) return SendError( playerid, "This player has his cuffs locked onto his seat. You can't eject him." ); else { if ( p_Kidnapped{ pID } == true ) p_Kidnapped{ pID } = false; + if ( p_Detained{ pID } == true ) p_Detained{ pID } = false; RemovePlayerFromVehicle( pID ); SyncObject( pID, 0.0, 2.0, 2.0 ); GameTextForPlayer( pID, "~r~EJECTED~w~!", 3500, 3 ); @@ -11661,10 +11558,17 @@ CMD:ejectall( playerid, params[ ] ) ; if ( iTargetVehicle == iPlayerVehicle && iTargetSeat >= 1 && iTargetSeat <= 3 ) { - iEjectCounter++; + // change variables + if ( p_Kidnapped{ i } == true ) p_Kidnapped{ i } = false; + if ( p_Detained{ i } == true ) p_Detained{ i } = false; + + // remove from vehicle RemovePlayerFromVehicle( i ); SyncObject( i, 0.0, 2.0, 2.0 ); GameTextForPlayer( i, "~r~EJECTED~w~!", 3500, 3 ); + + // increment players ejected + iEjectCounter++; } } @@ -12756,7 +12660,7 @@ CMD:me( playerid, params[ ] ) else if ( sscanf( params, "s[70]", action ) ) return SendUsage( playerid, "/me [ACTION]" ); else { - // IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "6*** %s(%d) %s", ReturnPlayerName( playerid ), playerid, action ); + Discord_SayFormatted( DISCORD_GENERAL, "** * * * %s(%d) %s **", ReturnPlayerName( playerid ), playerid, action ); SendClientMessageToAllFormatted( GetPlayerColor( playerid ), "*** %s(%d) %s", ReturnPlayerName( playerid ), playerid, action ); } return 1; @@ -12995,8 +12899,8 @@ CMD:tie( playerid, params[ ] ) /* ** End of Anti Tie Spam ** */ new victimid = GetClosestPlayer( playerid ); - new robbery_npcid = GetClosestRobberyNPC( getClosestRobberySafe( playerid ) ); - printf("You're %f far from the NPC\n", GetDistanceBetweenPlayers( playerid, robbery_npcid ) ); + /*new robbery_npcid = GetClosestRobberyNPC( getClosestRobberySafe( playerid ) ); + printf("You're %f far from the NPC\n", GetDistanceBetweenPlayers( playerid, robbery_npcid ) );*/ //if ( sscanf( params, ""#sscanf_u"", victimid ) ) return SendUsage( playerid, "/tie [PLAYER_ID]" ); //else if ( victimid == playerid ) return SendError( playerid, "You cannot tie yourself." ); @@ -16311,6 +16215,10 @@ thread OnPlayerUnbanIP( playerid, irc, address[ ] ) AddAdminLogLineFormatted( "%s(%d) has un-banned IP %s", ReturnPlayerName( playerid ), playerid, address ); SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]{FFFFFF} IP %s has been un-banned from the server.", address ); } + else + { + Discord_SayFormatted( DISCORD_GENERAL, "**(UNBANNED)** IP %s has been un-banned from the server.", address ); + } format( szNormalString, sizeof( szNormalString ), "DELETE FROM `BANS` WHERE `IP` = '%s'", mysql_escape( address ) ); mysql_single_query( szNormalString ); } @@ -16346,11 +16254,11 @@ thread OnPlayerUnbanPlayer( playerid, irc, player[ ] ) if ( rows ) { if ( !irc ) AddAdminLogLineFormatted( "%s(%d) has un-banned %s", ReturnPlayerName( playerid ), playerid, player ); - /*else + else { - format(szNormalString, sizeof(szNormalString),"(UNBANNED) %s has been un-banned from the server.", player); - IRC_GroupSay(gGroupID, IRC_CHANNEL, szNormalString); - }*/ + format(szNormalString, sizeof(szNormalString),"**(UNBANNED)** %s has been un-banned from the server.", player); + Discord_Say( DISCORD_GENERAL, szNormalString ); + } format(szNormalString, sizeof(szNormalString), "DELETE FROM `BANS` WHERE `NAME` = '%s'", mysql_escape( player ) ); mysql_single_query( szNormalString ); @@ -16610,6 +16518,34 @@ CMD:hadminsell( playerid, params[ ] ) } /* Level 6 */ +CMD:reloaddiscord( playerid, params[ ] ) +{ + socket_stop_listen(discordListener); + socket_destroy(discordListener); + socket_destroy(discord); + + if ( is_socket_valid( ( discord = socket_create( TCP ) ) ) ) { // begin launching tcp + socket_connect(discord, "127.0.0.1", 8000); + print( "Discord TCP has successfully connected!" ); + } + + if ( is_socket_valid( ( discordListener = socket_create( TCP ) ) ) ) { // begin creating discord listener + socket_set_max_connections(discordListener, 10); + socket_bind(discordListener, "127.0.0.1"); + socket_listen(discordListener, 3939); + print( "Discord listener has successfully started listening!" ); + } + + Discord_Say( DISCORD_GENERAL, "**Loaded discord for SA-MP by Lorenc and XFlawless**" ); + return 1; +} +CMD:reloadeditor( playerid, params[ ] ) +{ + SetServerRule( "reloadfs", "objecteditor" ); + SendClientMessage( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You have successfully reloaded the object editor." ); + return 1; +} + CMD:createentrance( playerid, params[ ] ) { new @@ -16762,26 +16698,6 @@ CMD:broadcast( playerid, params[ ] ) return 1; } -/*CMD:setirc( playerid, params[ ] ) -{ - new - szRank[ 4 ], - szUser[ 32 ], - botid = gBotID[ random( sizeof( gBotID ) ) ] - ; - - if ( p_AdminLevel[ playerid ] < 6 ) return SendError( playerid, ADMIN_COMMAND_REJECT ); - else if ( sscanf( params, "s[4]s[32]", szRank, szUser ) ) return SendUsage( playerid, "/setirc [RANK] [NAME]"); - //else if ( IRC_IsUserOnChannel( botid, IRC_CHANNEL, szUser ) ) return SendError( playerid, "This user is not connected!" ); - else - { - format( szNormalString, sizeof( szNormalString ), "cs access #sf-cnr set %s %s", szUser, szRank ); - SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You've queried "COL_GREY"%s"COL_WHITE"!", szNormalString ); - IRC_SendRaw( botid, szNormalString ); - } - return 1; -}*/ - CMD:seteventhost( playerid, params[ ] ) { new @@ -17153,20 +17069,6 @@ CMD:vipbonus( playerid, params[ ] ) return 1; } -/*CMD:ircnotworking( playerid, params[ ] ) { - if ( !IsPlayerAdmin( playerid ) ) - return 0; - - gBotID[ 0 ] = IRC_Connect( IRC_SERVER, IRC_PORT, BOT_1_NICKNAME, BOT_1_REALNAME, BOT_1_USERNAME ); - IRC_SetIntData( gBotID[ 0 ], E_IRC_CONNECT_DELAY, 20 ); - gBotID[ 1 ] = IRC_Connect( IRC_SERVER, IRC_PORT, BOT_2_NICKNAME, BOT_2_REALNAME, BOT_2_USERNAME ); - IRC_SetIntData( gBotID[ 0 ], E_IRC_CONNECT_DELAY, 30 ); - gGroupID = IRC_CreateGroup( ); - - SendServerMessage( playerid, "Trying now." ); - return 1; -}*/ - CMD:blockip( playerid, params[ ] ) { new address[16], timems; @@ -17564,10 +17466,16 @@ CMD:kickall( playerid, params[ ] ) /* End of admin commands */ +#define DISCORD_LEVEL_VOICE 1 +#define DISCORD_LEVEL_VIP 2 +#define DISCORD_LEVEL_MOD 3 +#define DISCORD_LEVEL_ADMIN 4 +#define DISCORD_LEVEL_SUPER 4 + /* ** IRC ** */ -/*IRCCMD:lastlogged(botid, channel[], user[], host[], params[]) +DQCMD:lastlogged( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsVoice(botid, channel, user)) + if ( level >= DISCORD_LEVEL_VOICE ) { static player[ MAX_PLAYER_NAME ] @@ -17577,16 +17485,16 @@ CMD:kickall( playerid, params[ ] ) else { format( szNormalString, sizeof( szNormalString ), "SELECT `LASTLOGGED` FROM `USERS` WHERE `NAME` = '%s' LIMIT 0,1", mysql_escape( player ) ); - mysql_function_query( dbHandle, szNormalString, true, "OnPlayerLastLogged", "iis", botid, 1, player ); + mysql_function_query( dbHandle, szNormalString, true, "OnPlayerLastLogged", "iis", INVALID_PLAYER_ID, 1, player ); } } - else IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This command requires voice (+v)." ); + else Discord_Say( userID, "**Error:** This command requires voice." ); return 1; } -IRCCMD:weeklytime(botid, channel[], user[], host[], params[]) +DQCMD:weeklytime( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsVoice(botid, channel, user)) + if ( level >= DISCORD_LEVEL_VOICE ) { static player[ MAX_PLAYER_NAME ] @@ -17596,56 +17504,53 @@ IRCCMD:weeklytime(botid, channel[], user[], host[], params[]) else { format( szNormalString, sizeof( szNormalString ), "SELECT `UPTIME`,`WEEKEND_UPTIME` FROM `USERS` WHERE `NAME` = '%s' LIMIT 0,1", mysql_escape( player ) ); - mysql_function_query( dbHandle, szNormalString, true, "OnPlayerWeeklyTime", "iis", botid, 1, player ); + mysql_function_query( dbHandle, szNormalString, true, "OnPlayerWeeklyTime", "iis", INVALID_PLAYER_ID, 1, player ); } } - else IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This command requires voice (+v)." ); + else Discord_Say( userID, "**Error:** This command requires voice." ); return 1; } -IRCCMD:idof(botid, channel[], user[], host[], params[]) +DQCMD:idof( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsVoice(botid, channel, user)) + if ( level >= DISCORD_LEVEL_VOICE ) { new pID; if ( sscanf( params, ""#sscanf_u"", pID ) ) return 0; - if ( !IsPlayerConnected( pID ) ) return 0; - format( szNormalString, sizeof( szNormalString ),"3ID OF '%s': %d", ReturnPlayerName( pID ), pID ); - IRC_GroupSay( gGroupID, IRC_CHANNEL, szNormalString ); + if ( !IsPlayerConnected( pID ) || IsPlayerNPC( pID ) ) return 0; + format( szNormalString, sizeof( szNormalString ), "**In-game ID of %s:** %d", ReturnPlayerName( pID ), pID ); + Discord_Say( DISCORD_GENERAL, szNormalString ); } - else IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This command requires voice (+v)." ); + else Discord_Say( userID, "**Error:** This command requires voice." ); return 1; } -IRCCMD:say(botid, channel[], user[], host[], params[]) +DQCMD:say( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsVoice(botid, channel, user)) + if ( level >= DISCORD_LEVEL_VOICE ) { new - szAntispam[ 64 ], - szMode[ 2 ] - ; - IRC_GetUserChannelMode( botid, channel, user, szMode ); + szAntispam[ 64 ]; if ( !isnull( params ) && !textContainsIP( params ) ) { format( szAntispam, 64, "!say_%s", user ); if ( GetGVarInt( szAntispam ) < g_iTime ) { - if ( !IRC_IsOp( botid, channel, user ) ) SetGVarInt( szAntispam, g_iTime + 2 ); - SendClientMessageToAllFormatted(-1, "{00CD45}(IRC) {4DFF88}%s{00CD45}%s:{FFFFFF} %s", szMode, user, params ); - IRC_GroupSayFormatted( gGroupID, IRC_CHANNEL, "(IRC) %s%s: %s", szMode, user, params ); + if ( level > DISCORD_LEVEL_ADMIN ) SetGVarInt( szAntispam, g_iTime + 2 ); + SendClientMessageToAllFormatted(-1, "{4DFF88}(Discord %s) {00CD45}%s:{FFFFFF} %s", discordLevelToString( level ), user, params ); + Discord_SayFormatted( DISCORD_GENERAL, "**(Discord %s) %s:** %s", discordLevelToString( level ), user, params ); } - else IRC_GroupSay( gGroupID, user,"You must wait 2 seconds before speaking again." ); + else Discord_Say( userID,"You must wait 2 seconds before speaking again." ); } } - else IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This command requires voice (+v)." ); + else Discord_Say( userID, "**Error:** This command requires voice." ); return 1; } -IRCCMD:players(botid, channel[], user[], host[], params[]) +DQCMD:players( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsVoice(botid, channel, user)) + if ( level >= DISCORD_LEVEL_VOICE ) { new iPlayers = Iter_Count(Player); @@ -17660,15 +17565,15 @@ IRCCMD:players(botid, channel[], user[], host[], params[]) } } format( szLargeString, sizeof( szLargeString ), "%sThere are %d player(s) online.", szLargeString, iPlayers ); - IRC_GroupSay( gGroupID, IRC_CHANNEL, szLargeString ); + Discord_Say( DISCORD_GENERAL, szLargeString ); } - else IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This command requires voice (+v)." ); + else Discord_Say( userID, "**Error:** This command requires voice." ); return 1; } -IRCCMD:admins(botid, channel[], user[], host[], params[]) +DQCMD:admins( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsVoice(botid, channel, user)) + if ( level >= DISCORD_LEVEL_VOICE ) { new count = 0; szBigString[ 0 ] = '\0'; @@ -17681,88 +17586,88 @@ IRCCMD:admins(botid, channel[], user[], host[], params[]) } format( szBigString, sizeof( szBigString ), "%sThere are %d admin(s) online.", szBigString, count ); - IRC_GroupSay( gGroupID, IRC_CHANNEL, szBigString ); + Discord_Say( DISCORD_GENERAL, szBigString ); } - else IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This command requires voice (+v)." ); + else Discord_Say( userID, "**Error:** This command requires voice." ); return 1; -}*/ +} -/* HALF OP -IRCCMD:acmds(botid, channel[], user[], host[], params[]) +/* HALF OP */ +DQCMD:acmds( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsHalfop(botid, channel, user)) + if ( level >= DISCORD_LEVEL_MOD ) { - IRC_Notice( gGroupID, user,"HALF-OP: !akick, !aban, !asuspend, !awarn, !ajail, !agetip, !a(un)mute" ); - IRC_Notice( gGroupID, user,"OP: !aunban, !aunbanip, !amegaban" ); + Discord_Say( userID, "__**Mod:**__ !kick, !ban, !suspend, !warn, !jail, !getip, !(un)mute\n"\ + "__**Admin:**__ !unban, !unbanip, !megaban" ); } return 1; } -IRCCMD:akick(botid, channel[], user[], host[], params[]) +DQCMD:kick( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsHalfop(botid, channel, user)) + if ( level >= DISCORD_LEVEL_MOD ) { new pID, reason[64]; - if (sscanf( params, ""#sscanf_u"S(No reason)[64]", pID, reason)) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !kick [PLAYER_ID] [REASON]" ); + if (sscanf( params, ""#sscanf_u"S(No reason)[64]", pID, reason)) return Discord_Say( userID, "**Usage:** !kick [PLAYER_ID] [REASON]" ); if (IsPlayerConnected(pID)) { - IRC_NoticeFormatted( gGroupID, user, "3COMMAND SUCCESS1 %s(%d) has been kicked.", ReturnPlayerName( pID ), pID ); + Discord_SayFormatted( userID, "**Command Success:** %s(%d) has been kicked.", ReturnPlayerName( pID ), pID ); SendGlobalMessage( -1, ""COL_PINK"[IRC ADMIN]{FFFFFF} %s(%d) has been kicked by %s "COL_GREEN"[REASON: %s]", ReturnPlayerName(pID), pID, user, reason); KickPlayerTimed(pID); } - else IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + else Discord_Say( userID, "**Command Error:** Player is not connected!" ); } return 1; } -IRCCMD:aban(botid, channel[], user[], host[], params[]) +DQCMD:ban( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID, reason[64]; - if (sscanf( params, ""#sscanf_u"S(No reason)[64]", pID, reason)) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !ban [PLAYER_ID] [REASON]" ); + if (sscanf( params, ""#sscanf_u"S(No reason)[64]", pID, reason)) return Discord_Say( userID, "**Usage:** !ban [PLAYER_ID] [REASON]" ); if (IsPlayerConnected(pID)) { - IRC_NoticeFormatted( gGroupID, user, "3COMMAND SUCCESS1 %s(%d) has been banned.", ReturnPlayerName( pID ), pID ); + Discord_SayFormatted( userID, "**Command Success:** %s(%d) has been banned.", ReturnPlayerName( pID ), pID ); SendGlobalMessage( -1, ""COL_PINK"[IRC ADMIN]{FFFFFF} %s has banned %s(%d) "COL_GREEN"[REASON: %s]", user, ReturnPlayerName( pID ), pID, reason ); AdvancedBan( pID, "IRC Administrator", reason, ReturnPlayerIP( pID ) ); } - else IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + else Discord_Say( userID, "**Command Error:** Player is not connected!" ); } return 1; } -IRCCMD:asuspend(botid, channel[], user[], host[], params[]) +DQCMD:suspend( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID, reason[50], hours, days; - if ( sscanf( params, ""#sscanf_u"ddS(No Reason)[50]", pID, hours, days, reason ) ) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !suspend [PLAYER_ID] [HOURS] [DAYS] [REASON]" ); - if ( hours < 0 || hours > 24 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Please specify an hour between 0 and 24." ); - if ( days < 0 || days > 60 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Please specifiy the amount of days between 0 and 60." ); - if ( days == 0 && hours == 0 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Invalid time specified." ); + if ( sscanf( params, ""#sscanf_u"ddS(No Reason)[50]", pID, hours, days, reason ) ) return Discord_Say( userID, "**Usage:** !suspend [PLAYER_ID] [HOURS] [DAYS] [REASON]" ); + if ( hours < 0 || hours > 24 ) return Discord_Say( userID, "**Command Error:** Please specify an hour between 0 and 24." ); + if ( days < 0 || days > 60 ) return Discord_Say( userID, "**Command Error:** Please specifiy the amount of days between 0 and 60." ); + if ( days == 0 && hours == 0 ) return Discord_Say( userID, "**Command Error:** Invalid time specified." ); if ( IsPlayerConnected( pID ) ) { - IRC_NoticeFormatted( gGroupID, user, "3COMMAND SUCCESS1 %s(%d) has been suspended for %d hour(s) and %d day(s).", ReturnPlayerName( pID ), pID, hours, days ); + Discord_SayFormatted( userID, "**Command Success:** %s(%d) has been suspended for %d hour(s) and %d day(s).", ReturnPlayerName( pID ), pID, hours, days ); SendGlobalMessage( -1, ""COL_PINK"[IRC ADMIN]{FFFFFF} %s has suspended %s(%d) for %d hour(s) and %d day(s) "COL_GREEN"[REASON: %s]", user, ReturnPlayerName( pID ), pID, hours, days, reason ); new time = g_iTime + ( hours * 3600 ) + ( days * 86400 ); AdvancedBan( pID, "IRC Administrator", reason, ReturnPlayerIP( pID ), time ); } - else IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + else Discord_Say( userID, "**Command Error:** Player is not connected!" ); } return 1; } -IRCCMD:awarn(botid, channel[], user[], host[], params[]) +DQCMD:warn( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID, reason[50]; - if ( sscanf( params, ""#sscanf_u"S(No Reason)[32]", pID, reason ) ) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !warn [PLAYER_ID] [REASON]" ); + if ( sscanf( params, ""#sscanf_u"S(No Reason)[32]", pID, reason ) ) return Discord_Say( userID, "**Usage:** !warn [PLAYER_ID] [REASON]" ); if ( IsPlayerConnected( pID ) ) { p_Warns[ pID ] ++; - IRC_NoticeFormatted( gGroupID, user, "3COMMAND SUCCESS1 %s(%d) has been warned [%d/3].", ReturnPlayerName( pID ), pID, p_Warns[ pID ] ); + Discord_SayFormatted( userID, "**Command Success:** %s(%d) has been warned [%d/3].", ReturnPlayerName( pID ), pID, p_Warns[ pID ] ); SendGlobalMessage( -1, ""COL_PINK"[ADMIN]"COL_WHITE" %s(%d) has been warned by %s "COL_GREEN"[REASON: %s]", ReturnPlayerName( pID ), pID, user, reason ); if ( p_Warns[ pID ] >= 3 ) @@ -17773,39 +17678,39 @@ IRCCMD:awarn(botid, channel[], user[], host[], params[]) return 1; } } - else IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + else Discord_Say( userID, "**Command Error:** Player is not connected!" ); } return 1; } -IRCCMD:ajail(botid, channel[], user[], host[], params[]) +DQCMD:jail( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID, reason[50], Seconds; - if ( sscanf( params, ""#sscanf_u"dS(No Reason)[32]", pID, Seconds, reason ) ) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !jail [PLAYER_ID] [SECONDS] [REASON]" ); - if ( Seconds > 20000 || Seconds < 1 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 You're misleading the seconds limit! ( 0 - 20000 )"); + if ( sscanf( params, ""#sscanf_u"dS(No Reason)[32]", pID, Seconds, reason ) ) return Discord_Say( userID, "**Usage:** !jail [PLAYER_ID] [SECONDS] [REASON]" ); + if ( Seconds > 20000 || Seconds < 1 ) return Discord_Say( userID, "**Command Error:** You're misleading the seconds limit! ( 0 - 20000 )"); if ( IsPlayerConnected( pID ) ) { - IRC_NoticeFormatted( gGroupID, user, "3COMMAND SUCCESS1 %s(%d) has been jailed for %d seconds.", ReturnPlayerName( pID ), pID, Seconds ); + Discord_SayFormatted( userID, "**Command Success:** %s(%d) has been jailed for %d seconds.", ReturnPlayerName( pID ), pID, Seconds ); SendGlobalMessage( -1, ""COL_GOLD"[IRC JAIL]{FFFFFF} %s(%d) has been sent to jail for %d seconds by %s "COL_GREEN"[REASON: %s]", ReturnPlayerName( pID ), pID, Seconds, user, reason ); JailPlayer( pID, Seconds, 1 ); } - else IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + else Discord_Say( userID, "**Command Error:** Player is not connected!" ); } return 1; } -IRCCMD:amute(botid, channel[], user[], host[], params[]) +DQCMD:mute( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID, seconds, reason[ 32 ]; - if ( sscanf( params, ""#sscanf_u"dS(No Reason)[32]", pID, seconds, reason ) ) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !amute [PLAYER_ID] [SECONDS] [REASON]"); - else if ( !IsPlayerConnected( pID ) ) IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Invalid Player ID."); - else if ( p_AdminLevel[ pID ] > 4 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 No sexy head admin targetting!"); - else if ( seconds < 0 || seconds > 10000000 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Specify the amount of seconds from 1 - 10000000." ); + if ( sscanf( params, ""#sscanf_u"dS(No Reason)[32]", pID, seconds, reason ) ) return Discord_Say( userID, "**Usage:** !amute [PLAYER_ID] [SECONDS] [REASON]"); + else if ( !IsPlayerConnected( pID ) ) Discord_Say( userID, "**Command Error:** Invalid Player ID."); + else if ( p_AdminLevel[ pID ] > 4 ) return Discord_Say( userID, "**Command Error:** No sexy head admin targetting!"); + else if ( seconds < 0 || seconds > 10000000 ) return Discord_Say( userID, "**Command Error:** Specify the amount of seconds from 1 - 10000000." ); else { SendGlobalMessage( -1, ""COL_PINK"[IRC ADMIN]{FFFFFF} %s has been muted by %s for %d seconds "COL_GREEN"[REASON: %s]", ReturnPlayerName( pID ), user, seconds, reason ); @@ -17817,14 +17722,14 @@ IRCCMD:amute(botid, channel[], user[], host[], params[]) return 1; } -IRCCMD:aunmute(botid, channel[], user[], host[], params[]) +DQCMD:unmute( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID; - if ( sscanf( params, ""#sscanf_u"", pID )) return IRC_Notice( gGroupID, user,"/mute [PLAYER_ID]"); - else if ( !IsPlayerConnected( pID ) ) return IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 Invalid Player ID"); - else if ( !p_Muted{ pID } ) return IRC_Notice( gGroupID, user, "4COMMAND ERROR:1 This player isn't muted" ); + if ( sscanf( params, ""#sscanf_u"", pID )) return Discord_Say( userID, "/mute [PLAYER_ID]"); + else if ( !IsPlayerConnected( pID ) ) return Discord_Say( userID, "**Command Error:** Invalid Player ID"); + else if ( !p_Muted{ pID } ) return Discord_Say( userID, "**Command Error:** This player isn't muted" ); else { SendGlobalMessage( -1, ""COL_PINK"[IRC ADMIN]{FFFFFF} %s has been un-muted by %s.", ReturnPlayerName(pID), user); @@ -17836,27 +17741,26 @@ IRCCMD:aunmute(botid, channel[], user[], host[], params[]) return 1; } - -IRCCMD:agetip(botid, channel[], user[], host[], params[]) +DQCMD:getip( userID[ ], user[ ], level, params[ ] ) { - if ( IRC_IsHalfop( botid, channel, user ) ) + if ( level >= DISCORD_LEVEL_MOD ) { new pID; - if ( sscanf( params, ""#sscanf_u"", pID ) ) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !warn [PLAYER_ID] [REASON]" ); + if ( sscanf( params, ""#sscanf_u"", pID ) ) return Discord_Say( userID, "**Usage:** !warn [PLAYER_ID] [REASON]" ); if ( IsPlayerConnected( pID ) ) { - if ( p_AdminLevel[ pID ] > 4 ) return IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 No sexy head admin targetting!"); - IRC_NoticeFormatted( gGroupID, user, "3COMMAND SUCCESS1 %s(%d)'s IP is 14%s", ReturnPlayerName( pID ), pID, ReturnPlayerIP( pID ) ); + if ( p_AdminLevel[ pID ] > 4 ) return Discord_Say( userID, "**Command Error:** No sexy head admin targetting!"); + Discord_SayFormatted( userID, "**Command Success:** %s(%d)'s IP is 14%s", ReturnPlayerName( pID ), pID, ReturnPlayerIP( pID ) ); } - else IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + else Discord_Say( userID, "**Command Error:** Player is not connected!" ); } return 1; -}*/ +} -/* OP -IRCCMD:akickall(botid, channel[], user[], host[], params[]) +/* OP */ +DQCMD:akickall( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsOwner(botid, channel, user)) + if ( level >= DISCORD_LEVEL_SUPER ) { SendClientMessageToAll( -1, ""COL_PINK"[ADMIN]"COL_WHITE" Everyone has been kicked from the server due to a server update." ); for( new i, g = GetMaxPlayers( ); i < g; i++ ) @@ -17866,20 +17770,20 @@ IRCCMD:akickall(botid, channel[], user[], host[], params[]) Kick( i ); } } - IRC_Notice( gGroupID, user,"3COMMAND SUCCESS1 All users have been kicked from the server." ); + Discord_Say( userID, "**Command Success:** All users have been kicked from the server." ); } return 1; } -IRCCMD:amegaban(botid, channel[], user[], host[], params[]) +DQCMD:amegaban( userID[ ], user[ ], level, params[ ] ) { new pID, reason[ 50 ] ; - if (!IRC_IsOp(botid, channel, user)) return 0; - else if ( sscanf( params, ""#sscanf_u"S(No Reason)[50]", pID, reason ) ) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !amegaban [PLAYER_ID] [REASON]" ); - else if ( !IsPlayerConnected( pID ) ) IRC_Notice( gGroupID, user,"4COMMAND ERROR:1 Player is not connected!" ); + if ( ! ( level >= DISCORD_LEVEL_ADMIN ) ) return 0; + else if ( sscanf( params, ""#sscanf_u"S(No Reason)[50]", pID, reason ) ) return Discord_Say( userID, "**Usage:** !amegaban [PLAYER_ID] [REASON]" ); + else if ( !IsPlayerConnected( pID ) ) Discord_Say( userID, "**Command Error:** Player is not connected!" ); else { SendGlobalMessage( -1, ""COL_PINK"[IRC ADMIN]{FFFFFF} %s has mega-banned %s(%d) "COL_GREEN"[REASON: %s]", user, ReturnPlayerName( pID ), pID, reason ); @@ -17888,57 +17792,55 @@ IRCCMD:amegaban(botid, channel[], user[], host[], params[]) return 1; } -IRCCMD:aunban(botid, channel[], user[], host[], params[]) +DQCMD:aunban( userID[ ], user[ ], level, params[ ] ) { new player[24], Query[70] ; - if (!IRC_IsOp(botid, channel, user)) return 0; - else if (sscanf(params, "s[24]", player)) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !unban [PLAYER]" ); + if ( ! ( level >= DISCORD_LEVEL_ADMIN ) ) return 0; + else if (sscanf(params, "s[24]", player)) return Discord_Say( userID, "**Usage:** !unban [PLAYER]" ); else { format( Query, sizeof( Query ), "SELECT `NAME` FROM `BANS` WHERE `NAME` = '%s'", mysql_escape( player ) ); - mysql_function_query( dbHandle, Query, true, "OnPlayerUnbanPlayer", "dds", botid, 1, player ); + mysql_function_query( dbHandle, Query, true, "OnPlayerUnbanPlayer", "dds", INVALID_PLAYER_ID, 1, player ); } return 1; } -IRCCMD:aunbanip(botid, channel[], user[], host[], params[]) +DQCMD:aunbanip( userID[ ], user[ ], level, params[ ] ) { new address[16], Query[70] ; - if (!IRC_IsOp(botid, channel, user)) return 0; - else if (sscanf(params, "s[16]", address)) return IRC_Notice( gGroupID, user,"7COMMAND USAGE:1 !unbanip [IP]" ); + if ( ! ( level >= DISCORD_LEVEL_ADMIN ) ) return 0; + else if (sscanf(params, "s[16]", address)) return Discord_Say( userID, "**Usage:** !unbanip [IP]" ); else { format( Query, sizeof( Query ), "SELECT `IP` FROM `BANS` WHERE `IP` = '%s'", mysql_escape( address ) ); - mysql_function_query( dbHandle, Query, true, "OnPlayerUnbanIP", "dds", botid, 0, address ); + mysql_function_query( dbHandle, Query, true, "OnPlayerUnbanIP", "dds", INVALID_PLAYER_ID, 0, address ); } return 1; } -IRCCMD:rcon(botid, channel[], user[], host[], params[]) +DQCMD:rcon( userID[ ], user[ ], level, params[ ] ) { - if (IRC_IsOwner(botid, channel, user)) + if ( level >= DISCORD_LEVEL_SUPER ) { if (!isnull(params)) { if (strcmp(params, "exit", true) != 0) { - new msg[128]; - format(msg, sizeof(msg), "RCON command %s has been executed.", params); - IRC_Notice(gGroupID, channel, msg); - SendRconCommand(params); + Discord_SayFormatted( DISCORD_GENERAL, "RCON command %s has been executed.", params ); + SendRconCommand( params ); } } } return 1; -}*/ +} /* ** End of Commands ** */ @@ -25052,30 +24954,6 @@ stock SavePlayerData( playerid, bool: logout = false ) stock initializeTextDraws( ) { - g_EasterTD[0] = TextDrawCreate(529.000000, 330.000000, "~r~~h~H~b~~h~a~g~~h~p~p~~h~p~y~~h~y_~r~~h~E~b~~h~a~g~~h~s~p~~h~t~y~~h~e~r~~h~r"); - TextDrawBackgroundColor(g_EasterTD[0], 255); - TextDrawFont(g_EasterTD[0], 3); - TextDrawLetterSize(g_EasterTD[0], 0.300000, 1.200000); - TextDrawColor(g_EasterTD[0], -1); - TextDrawSetOutline(g_EasterTD[0], 1); - TextDrawSetProportional(g_EasterTD[0], 1); - TextDrawSetSelectable(g_EasterTD[0], 0); - - g_EasterTD[1] = TextDrawCreate(598.000000, 319.000000, "New Textdraw"); - TextDrawBackgroundColor(g_EasterTD[1], 0); - TextDrawFont(g_EasterTD[1], 5); - TextDrawLetterSize(g_EasterTD[1], 0.500000, 1.000000); - TextDrawColor(g_EasterTD[1], -1); - TextDrawSetOutline(g_EasterTD[1], 0); - TextDrawSetProportional(g_EasterTD[1], 1); - TextDrawSetShadow(g_EasterTD[1], 1); - TextDrawUseBox(g_EasterTD[1], 1); - TextDrawBoxColor(g_EasterTD[1], 0); - TextDrawTextSize(g_EasterTD[1], 31.000000, 34.000000); - TextDrawSetPreviewModel(g_EasterTD[1], 19341); - TextDrawSetPreviewRot(g_EasterTD[1], -16.000000, 0.000000, -55.000000, 1.000000); - TextDrawSetSelectable(g_EasterTD[1], 0); - g_NotManyPlayersTD = TextDrawCreate(322.000000, 12.000000, "Coin generation increased by 5x as there aren't many players online!"); TextDrawAlignment(g_NotManyPlayersTD, 2); TextDrawBackgroundColor(g_NotManyPlayersTD, 0); @@ -25728,15 +25606,15 @@ stock SendGlobalMessage( colour, format[ ], va_args<> ) va_format( out, sizeof( out ), format, va_start<2> ); SendClientMessageToAll( colour, out ); - /*strreplace( out, #COL_LRED, "4" ); - strreplace( out, #COL_ORANGE, "7" ); - strreplace( out, #COL_GOLD, "8" ); - strreplace( out, #COL_GREEN, "9" ); - strreplace( out, #COL_BLUE, "11" ); - strreplace( out, #COL_PINK, "13" ); - strreplace( out, #COL_GREY, "14" ); - strreplace( out, #COL_WHITE, "" ); - IRC_GroupSay( gGroupID, IRC_CHANNEL, out );*/ + strreplace( out, #COL_LRED, "" ); + strreplace( out, #COL_ORANGE, "" ); + strreplace( out, #COL_GOLD, "" ); + strreplace( out, #COL_GREEN, "" ); + strreplace( out, #COL_BLUE, "" ); + strreplace( out, #COL_PINK, "" ); + strreplace( out, #COL_GREY, "" ); + strreplace( out, #COL_WHITE, "" ); + Discord_Say( DISCORD_GENERAL, out ); return 1; } @@ -28853,6 +28731,7 @@ stock AddAdminLogLine( szMessage[ sizeof( log__Text[ ] ) ] ) memcpy( log__Text[ iPos ], log__Text[ iPos + 1 ], 0, sizeof( log__Text[ ] ) * 4 ); strcpy( log__Text[ 4 ], szMessage ); + Discord_Say( DISCORD_ADMINISTRATION, szMessage ); format( szLargeString, 500, "%s~n~%s~n~%s~n~%s~n~%s", log__Text[ 0 ], log__Text[ 1 ], log__Text[ 2 ], log__Text[ 3 ], log__Text[ 4 ] ); return TextDrawSetString( g_AdminLogTD, szLargeString ); @@ -32630,7 +32509,9 @@ stock RollSlotMachine( playerid, id ) if ( g_slotmachineData[ id ] [ E_ENTRY_FEE ] == 10000 ) { // 1 in 10000 odds - randomChance = random( 10001 ); + randomChance = random( 50001 ); + + printf("random chance %d", randomChance ); // let's see where they landed switch ( randomChance ) @@ -32640,23 +32521,23 @@ stock RollSlotMachine( playerid, id ) rotation = 0.0; // single brick - case 1 .. 55: + case 1 .. 275: rotation = 40.0; // gold bells - case 100 .. 210: + case 550 .. 1100: rotation = 60.0; // cherry - case 220 .. 440: + case 1101 .. 2201: rotation = 80.0; // grapes - case 500 .. 1050: + case 2750 .. 5500: rotation = 100.0; // 69s - case 1100 .. 2200: + case 5501 .. 11001: rotation = 20.0; default: @@ -32666,7 +32547,7 @@ stock RollSlotMachine( playerid, id ) else { // 1 in 35000 odds - randomChance = random( 35001 ); + randomChance = random( 100001 ); // let's see where they landed switch ( randomChance ) @@ -32676,23 +32557,23 @@ stock RollSlotMachine( playerid, id ) rotation = 0.0; // single brick - case 192 .. 384: + case 550 .. 1100: rotation = 40.0; // gold bells - case 385 .. 770: + case 1101 .. 2201: rotation = 60.0; // cherry - case 771 .. 1541: + case 2202 .. 4402: rotation = 80.0; // grapes - case 1925 .. 3850: + case 5500 .. 11000: rotation = 100.0; // 69s - case 3851 .. 7701: + case 11001 .. 22001: rotation = 20.0; default: @@ -34393,7 +34274,7 @@ CMD:verify( playerid, params[ ] ) return SendError( playerid, "Your security mode is set to disabled." ); format( szBigString, 196, "SELECT `CONFIRMED`,UNIX_TIMESTAMP(`DATE`) as `DATE` FROM `USER_CONFIRMED_IPS` WHERE `USER_ID`=%d AND `IP`='%s'", p_AccountID[ playerid ], mysql_escape( ReturnPlayerIP( playerid ) ) ); - mysql_function_query( dbHandle, szBigString, true, "OnAccountEmailVerify", "d", playerid ); + mysql_function_query( dbHandle, szBigString, true, "OnAccountEmailVerify", "dd", playerid, 0 ); return 1; } @@ -34423,7 +34304,7 @@ thread OnAccountGuardVerify( playerid ) return 1; } -thread OnAccountEmailVerify( playerid ) +thread OnAccountEmailVerify( playerid, login_force ) { new rows, fields, timestamp; @@ -34448,6 +34329,10 @@ thread OnAccountEmailVerify( playerid ) timestamp = cache_get_field_content_int( 0, "DATE", dbHandle ); } + // No point forcing a mild mode user to validate + if ( login_force && p_accountSecurityData[ playerid ] [ E_MODE ] == SECURITY_MODE_MILD ) + return SendError( playerid, "This account is protected by Irresistible Guard. "COL_RED"Please verify your IP through your email to transact in-game." ); + if ( g_iTime - timestamp >= 300 ) { new @@ -34509,7 +34394,7 @@ thread OnEmailLoad( playerid ) // IP Check format( szBigString, 196, "SELECT `CONFIRMED`,UNIX_TIMESTAMP(`DATE`) as `DATE` FROM `USER_CONFIRMED_IPS` WHERE `USER_ID`=%d AND `IP`='%s'", p_AccountID[ playerid ], mysql_escape( ReturnPlayerIP( playerid ) ) ); - mysql_function_query( dbHandle, szBigString, true, "OnAccountEmailVerify", "d", playerid ); + mysql_function_query( dbHandle, szBigString, true, "OnAccountEmailVerify", "dd", playerid, 1 ); } } @@ -34642,3 +34527,76 @@ thread OnAccountGuardDelete( playerid ) } return 1; } + +/** + * Read all incoming UDP data from discord users that fire commands + * @return true + */ + +public onSocketReceiveData(Socket:id, remote_clientid, data[], data_len) +{ + printf("len : %d, data: %s, remote client id %d", data_len, data, remote_clientid); + if ( id == discordListener ) + { + static + szID[ 19 ], szUser[ 24 ], szMessage[ 32 ], iLevel; + + if ( ! sscanf( data, "s[19]s[24]ds[32]", szID, szUser, iLevel, szMessage ) ) + { + if ( szMessage[ 0 ] == '!' ) + { + new + functiona[ 32 ], posi = 0; + + while ( szMessage[ ++posi ] > ' ' ) { + functiona[ posi - 1 ] = tolower( szMessage[ posi ] ); + } + + format( functiona, sizeof( functiona ), "discord_%s", functiona ); + + while ( szMessage[ posi ] == ' ' ) { + posi++; + } + + if ( ! szMessage[ posi ] ) + { + CallLocalFunction( functiona, "ssds", szID, szUser, iLevel, "\1" ); + } else { + CallLocalFunction( functiona, "ssds", szID, szUser, iLevel, szMessage[ posi ] ); + } + } + } + } + socket_close_remote_client( id, remote_clientid ); // test + return 1; +} + +/** + * Sends a message to a channel + * @return true + */ +stock Discord_Say( channel_id[ ], text[ ] ) +{ + static + buffer[ 256 ]; + + format( buffer, sizeof( buffer ), "%s %s\r\n", channel_id, text); + return socket_send( discord, buffer, strlen( buffer ) ); +} + +stock discordLevelToString( level ) +{ + static + rank[ 12 ]; + + switch (level) + { + case 1: rank = "Voice"; + case 2: rank = "V.I.P"; + case 3: rank = "Moderator"; + case 4: rank = "Admin"; + case 5: rank = "Super Admin"; + default: rank = "N/A"; + } + return rank; +} diff --git a/pawno/include/sf-cnr.inc b/pawno/include/sf-cnr.inc index 73970cc..2763b8e 100644 --- a/pawno/include/sf-cnr.inc +++ b/pawno/include/sf-cnr.inc @@ -18582,6 +18582,40 @@ stock initializeObjects( ) CreateDynamicObject( 19817, -1293.137939, -719.424621, 58.693904, 0.000000, 0.000000, -45.000000 ); CreateDynamicObject( 3525, -1281.895019, -757.517517, 70.801536, 0.000000, 0.000000, 45.000000 ); CreateDynamicObject( 3525, -1279.014648, -754.638549, 70.801536, 0.000000, 0.000000, 45.000000 ); + + // paintball house + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2240.016601, 266.421875, 34.180316, 0.000000, 90.000000, -51.299999 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2239.103027, 265.282409, 34.180316, 0.000000, 90.000000, -51.299999 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2225.420410, 263.522399, 26.870332, 90.000000, 0.000000, 90.000000 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2225.420410, 240.512634, 26.870332, 90.000000, 0.000000, 90.000000 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2239.087158, 238.746093, 34.180316, 0.000000, 90.000000, 51.399921 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18766, -2240.016845, 237.589599, 34.180316, 0.000000, 90.000000, 51.399921 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2225.690673, 251.552886, 26.870332, 90.000000, 0.000000, 0.000000 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18981, -2229.437255, 253.790481, 33.840286, 0.000000, 90.000000, 0.000000 ), 0, 13691, "bevcunto2_lahills", "ws_patio1", 0 ); + CreateDynamicObject( 3515, -2237.908203, 260.086822, 33.470420, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2241.446044, 234.706878, 34.780334, 0.000000, 90.000000, 90.000000 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18980, -2241.446044, 269.306945, 34.780334, 0.000000, 90.000000, 90.000000 ), 0, 8399, "vgs_shops", "vgsclubwall05_128", 0 ); + CreateDynamicObject( 640, -2241.460449, 259.542144, 35.570304, 0.000000, 0.000000, 180.000000 ); + CreateDynamicObject( 640, -2241.460449, 264.581970, 35.570304, 0.000000, 0.000000, 180.000000 ); + CreateDynamicObject( 640, -2241.460449, 244.502212, 35.570304, 0.000000, 0.000000, 180.000000 ); + CreateDynamicObject( 640, -2241.460449, 239.432266, 35.570304, 0.000000, 0.000000, 180.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18765, -2236.931152, 261.812835, 31.850328, 0.000000, 0.000000, 0.000000 ), 0, 9495, "vict_sfw", "Grass_128HV", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 18765, -2236.931152, 242.212677, 31.850328, 0.000000, 0.000000, 0.000000 ), 0, 9495, "vict_sfw", "Grass_128HV", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 970, -2238.631103, 247.236816, 34.870285, 0.000000, 0.000000, 0.000000 ), 0, 3905, "libertyhi2", "glass_fence_64hv", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 970, -2234.118896, 247.236816, 34.870285, 0.000000, 0.000000, 0.000000 ), 0, 3905, "libertyhi2", "glass_fence_64hv", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 970, -2238.631103, 256.727142, 34.870285, 0.000000, 0.000000, 0.000000 ), 0, 3905, "libertyhi2", "glass_fence_64hv", -268435456 ); + SetDynamicObjectMaterial( CreateDynamicObject( 970, -2234.118896, 256.726867, 34.870285, 0.000000, 0.000000, 0.000000 ), 0, 3905, "libertyhi2", "glass_fence_64hv", -268435456 ); + CreateDynamicObject( 1557, -2226.141357, 250.501144, 34.300373, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 1557, -2226.141357, 253.531250, 34.300373, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 3525, -2226.281982, 253.974609, 35.730285, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 3525, -2226.281982, 250.054824, 35.730285, 0.000000, 0.000000, -90.000000 ); + CreateDynamicObject( 3515, -2237.908203, 244.046768, 33.470420, 0.000000, 0.000000, 0.000000 ); + SetDynamicObjectMaterial( CreateDynamicObject( 5422, -2229.038085, 240.954986, 36.310279, 0.000000, 0.000000, 90.000000 ), 0, 17562, "coast_apts", "garagedoor5_law", 0 ); + SetDynamicObjectMaterial( CreateDynamicObject( 5422, -2229.038085, 263.055084, 36.310279, 0.000000, 0.000000, 90.000000 ), 0, 17562, "coast_apts", "garagedoor5_law", 0 ); + CreateDynamicObject( 869, -2233.871093, 260.942504, 34.714874, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 869, -2233.871093, 259.002563, 34.714874, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 869, -2233.871093, 245.122589, 34.714874, 0.000000, 0.000000, 90.000000 ); + CreateDynamicObject( 869, -2233.871093, 242.512603, 34.714874, 0.000000, 0.000000, 90.000000 ); #endif } @@ -18884,4 +18918,10 @@ stock removeExcessiveBuildings( playerid ) RemoveBuildingForPlayer(playerid, 712, 2100.8125, -1764.3750, 21.3906, 0.25); RemoveBuildingForPlayer(playerid, 620, 2105.0859, -1765.6094, 10.8047, 0.25); RemoveBuildingForPlayer(playerid, 1226, 2114.7188, -1785.1797, 16.3984, 0.25); + + // Ahmyy HQ [DS] HQ + RemoveBuildingForPlayer(playerid, 10708, -2608.3125, -15.0391, 13.8203, 0.25); + RemoveBuildingForPlayer(playerid, 1226, -2600.3203, -20.6016, 7.2031, 0.25); + RemoveBuildingForPlayer(playerid, 1308, -2594.4453, -20.3750, 3.6406, 0.25); + RemoveBuildingForPlayer(playerid, 1308, -2594.4453, 17.8203, 3.6406, 0.25); } diff --git a/server.cfg b/server.cfg index 323768a..e37c81e 100644 --- a/server.cfg +++ b/server.cfg @@ -1,11 +1,11 @@ echo Executing Server Config... lanmode 0 rcon_password lo -maxplayers 318 +maxplayers 325 port 7777 hostname » Call of Duty For SA-MP (0.3.7) « gamemode0 sf-cnr 1 -filterscripts TextEditor +filterscripts announce 0 query 1 chatlogging 0 @@ -15,8 +15,8 @@ incar_rate 40 weapon_rate 40 stream_distance 300.0 stream_rate 1000 -plugins mysql crashdetect sscanf streamer Whirlpool regex gvar FileManager profiler FCNPC MapAndreas -maxnpc 193 +plugins mysql crashdetect sscanf streamer socket Whirlpool regex gvar FileManager profiler FCNPC +maxnpc 200 logtimeformat [%H:%M:%S] language All profiler_gamemodes sf-cnr