Advertisement
Dzherekarov

p_markers

Feb 13th, 2025 (edited)
506
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 45.14 KB | Gaming | 0 0
  1. //Free to use update and tackle.
  2.  
  3. #include <a_samp>
  4. #include <YSF>
  5. #include <streamer>
  6.  
  7. //Markers misc
  8. #define INVALID_MARKERS_ID (-1)
  9. #define MAX_MARKERS 1100
  10. new STREAMER_TAG_3D_TEXT_LABEL:MarkerTag[MAX_PLAYERS][MAX_MARKERS];
  11. new MarkerTiki[MAX_PLAYERS][MAX_MARKERS];
  12. new MarkerDecal[MAX_PLAYERS][MAX_MARKERS];
  13. new MarkerHoop[MAX_PLAYERS][MAX_MARKERS];
  14. new MarkerCount[MAX_PLAYERS];
  15. new FreeMarkerIDs[MAX_MARKERS];  // Array to store free marker IDs
  16. new FreeMarkerCount = 0;  // Number of free marker IDs available
  17.  
  18. //Markers type ID's
  19. enum E_MARKER_TYPE
  20. {
  21.      Vehicle,
  22.      Zero,
  23.      Woozie,
  24.      Waypoint,
  25.      Tshirt,
  26.      Truck,
  27.      TriadsCasino,
  28.      Triads,
  29.      TorenoRanch,
  30.      TORENO,
  31.      THETRUTH,
  32.      Tattoo,
  33.      SWEET,
  34.      Spray,
  35.      School,
  36.      SaveGame,
  37.      RYDER,
  38.      Runway,
  39.      Race,
  40.      Qmark,
  41.      PropertyR,
  42.      PropertyG,
  43.      Police,
  44.      Pizza,
  45.      OGLOC,
  46.      North,
  47.      ModGarage,
  48.      MCSTRAP,
  49.      MafiaCasino,
  50.      MADDOG,
  51.      LocoSyndicate,
  52.      Light,
  53.      Impound,
  54.      Hostpital,
  55.      Gym,
  56.      Girlfriend,
  57.      GangY,
  58.      GangP,
  59.      GangN,
  60.      GangG,
  61.      GangB,
  62.      Flag,
  63.      Fire,
  64.      EnemyAttack,
  65.      EmmetGun,
  66.      Diner,
  67.      DateFood,
  68.      DateDrink,
  69.      DateDisco,
  70.      CRASH1,
  71.      CJ,
  72.      Chicken,
  73.      CESARVIAPANDO,
  74.      Centre,
  75.      CATALINAPINK,
  76.      Cash,
  77.      BurgerShot,
  78.      Bulldozer,
  79.      Boatyard,
  80.      BIGSMOKE,
  81.      Barbers,
  82.      Ammugun,
  83.      AirYard,
  84.      RingPlane,
  85.      Arrow,
  86.      HandcuffsBlack0,
  87.      HandcuffsBlack1,
  88.      HandcuffsBlack2,
  89.      FBI,
  90.      Fist,
  91.      BRASSKNUCKLE,
  92.      Golfclub,
  93.      Nitestick,
  94.      Knifecur,
  95.      Bat,
  96.      Shovel,
  97.      Poolcue,
  98.      Katana,
  99.      Chainsaw,
  100.      Gun_dildo1,
  101.      Gun_dildo2,
  102.      Gun_vibe1,
  103.      Gun_vibe2,
  104.      Flowera,
  105.      Gun_cane,
  106.      Grenade,
  107.      TearGas,
  108.      Molotov,
  109.      Colt45,
  110.      Silenced,
  111.      Desert_Eagle,
  112.      Chromegun,
  113.      Sawnoff,
  114.      Shotgspa,
  115.      Micro_Uzi,
  116.      Mp5lng,
  117.      Ak47,
  118.      M4,
  119.      Cuntgun,
  120.      SNIPER,
  121.      Rocketla,
  122.      Heatseek,
  123.      Flame,
  124.      Minigun,
  125.      Satchel,
  126.      Bomb,
  127.      SPRAYCAN,
  128.      Fire_ex,
  129.      Camera,
  130.      Nvgoggles,
  131.      Irgoggles,
  132.      Jetpack,
  133.      Gun_para,
  134.      Tec9,
  135.      Finish,
  136.      Hoop_ar,
  137.      EnEx_Y,
  138.      EnEx_R,
  139.      EnEx_G,
  140.      EnEx_B,
  141.      Checkpoint_Normal,
  142.      CP_Vehicle,
  143.      CP_Zero,
  144.      CP_Woozie,
  145.      CP_Waypoint,
  146.      CP_Tshirt,
  147.      CP_Truck,
  148.      CP_TriadsCasino,
  149.      CP_Triads ,
  150.      CP_TorenoRanch,
  151.      CP_TORENO,
  152.      CP_THETRUTH,
  153.      CP_Tattoo,
  154.      CP_SWEET,
  155.      CP_Spray,
  156.      CP_School,
  157.      CP_SaveGame,
  158.      CP_RYDER,
  159.      CP_Runway,
  160.      CP_Race,
  161.      CP_Qmark,
  162.      CP_PropertyR,
  163.      CP_PropertyG,
  164.      CP_Police,
  165.      CP_Pizza,
  166.      CP_OGLOC,
  167.      CP_North,
  168.      CP_ModGarage,
  169.      CP_MCSTRAP,
  170.      CP_MafiaCasino,
  171.      CP_MADDOG,
  172.      CP_LocoSyndicate,
  173.      CP_Light,
  174.      CP_Impound,
  175.      CP_Hostpital,
  176.      CP_Gym,
  177.      CP_Girlfriend,
  178.      CP_GangY,
  179.      CP_GangP,
  180.      CP_GangN,
  181.      CP_GangG,
  182.      CP_GangB,
  183.      CP_Flag,
  184.      CP_Fire,
  185.      CP_EnemyAttack,
  186.      CP_EmmetGun,
  187.      CP_Diner,
  188.      CP_DateFood,
  189.      CP_DateDrink,
  190.      CP_DateDisco,
  191.      CP_CRASH1,
  192.      CP_CJ,
  193.      CP_Chicken,
  194.      CP_CESARVIAPANDO,
  195.      CP_Centre,
  196.      CP_CATALINAPINK,
  197.      CP_Cash,
  198.      CP_BurgerShot,
  199.      CP_Bulldozer,
  200.      CP_BIGSMOKE,
  201.      CP_Barbers,
  202.      CP_Ammugun,
  203.      CP_AirYard,
  204.      CP_RingPlane,
  205.      CP_Arrow,
  206.      CP_HandcuffsBlack0,
  207.      CP_HandcuffsBlack1,
  208.      CP_HandcuffsBlack2,
  209.      CP_FBI,
  210.      CP_Fist,
  211.      CP_BRASSKNUCKLE,
  212.      CP_Golfclub,
  213.      CP_Nitestick,
  214.      CP_Knifecur,
  215.      CP_Bat,
  216.      CP_Shovel,
  217.      CP_Poolcue,
  218.      CP_Katana,
  219.      CP_Chainsaw,
  220.      CP_Gun_dildo1,
  221.      CP_Gun_dildo2,
  222.      CP_Gun_vibe1,
  223.      CP_Gun_vibe2,
  224.      CP_Flowera,
  225.      CP_Gun_cane,
  226.      CP_Grenade,
  227.      CP_TearGas,
  228.      CP_Molotov,
  229.      CP_Colt45,
  230.      CP_Silenced,
  231.      CP_Desert_Eagle,
  232.      CP_Chromegun,
  233.      CP_Sawnoff,
  234.      CP_Shotgspa,
  235.      CP_Micro_Uzi,
  236.      CP_Mp5lng,
  237.      CP_Ak47,
  238.      CP_M4,
  239.      CP_Cuntgun,
  240.      CP_SNIPER,
  241.      CP_Rocketla,
  242.      CP_Heatseek,
  243.      CP_Flame,
  244.      CP_Minigun,
  245.      CP_Satchel,
  246.      CP_Bomb,
  247.      CP_SPRAYCAN,
  248.      CP_Fire_ex,
  249.      CP_Camera,
  250.      CP_Nvgoggles,
  251.      CP_Irgoggles,
  252.      CP_Jetpack,
  253.      CP_Gun_para,
  254.      CP_Tec9,
  255.      CP_Boatyard,
  256.      CP_Finish,
  257.      Hoop_Info,//236
  258.      Hoop_Money//237
  259. };
  260. public OnFilterScriptInit()
  261. {
  262.     print("\n-----------------Jerry------------------");
  263.     print("----SAMP MAP MARKERS By: Dzherekarov----");
  264.     print("------------------v0.01-----------------\n");
  265.     return 1;
  266. }
  267.  
  268. public OnFilterScriptExit()
  269. {
  270.     for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  271.     {
  272.         DestroyAllMarkers(playerid);
  273.     }
  274.     return 1;
  275. }
  276.  
  277. public OnPlayerConnect(playerid)
  278. {
  279.     if(IsPlayerNPC(playerid)) return 1;
  280.     MarkerCount[playerid] = 0;
  281.     return 1;
  282. }
  283.  
  284. public OnPlayerDisconnect(playerid, reason)
  285. {
  286.     DestroyAllMarkers(playerid);
  287.     return 1;
  288. }
  289.  
  290. public OnPlayerSpawn(playerid)
  291. {
  292.     if(MarkerCount[playerid] == 0)
  293.     {
  294.     AddMapMarker(playerid, 236, 1187.9878,-1350.3082,13.5686, 0xFFBBBB33, 0xAADDFF00, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 28
  295.     AddMapMarker(playerid, 237, 1188.0745,-1347.2280,13.5671, 0xFF33FF33, 0xAADDFF00, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 29
  296.     AddMapMarker(playerid, 2, 1187.9591,-1344.3979,13.5657, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 30
  297.     AddMapMarker(playerid, 3, 1188.1002,-1341.2017,13.5703, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 31
  298.     AddMapMarker(playerid, 4, 1188.0364,-1337.9790,13.5703, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 32
  299.     AddMapMarker(playerid, 181, 1187.9352,-1334.9929,13.5618, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 33
  300.     AddMapMarker(playerid, 114, 1188.0209,-1331.9552,13.5611, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 34
  301.     AddMapMarker(playerid, 115, 1187.9342,-1328.5186,13.5602, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 35
  302.     AddMapMarker(playerid, 116, 1187.8652,-1325.7246,13.5595, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 36
  303.     AddMapMarker(playerid, 117, 1187.8624,-1322.5751,13.5665, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 37
  304.     AddMapMarker(playerid, 200, 1187.9496,-1319.4875,13.5658, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 38
  305.     AddMapMarker(playerid, 201, 1187.9332,-1316.2228,13.5650, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 39
  306.     AddMapMarker(playerid, 199, 1187.8562,-1313.2632,13.5643, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 40
  307.     AddMapMarker(playerid, 148, 1188.0199,-1310.3335,13.5625, 0xAAAAAAAA, 0xAADD0000, 0, 0, 120.0,"A simple 3D texdraw tag its optional",0x0000AAAA); // 41
  308.     }
  309.     return 1;
  310. }
  311.  
  312. stock AddMapMarker(playerid, type = 0, Float:X, Float:Y, Float:Z, col = 0xAAAAAAAA, colh = 0xAADD1111, vw = 0, interior = 0, Float:DrawDist = 110.0, dtext[]="MARKER TAG", col3d = 0x00000000,testl = 1,Float:tdrawdist = 50.0)
  313. {
  314.     new index;
  315.  
  316.     // Check if there is a free marker ID to reuse
  317.     if (FreeMarkerCount > 0) {
  318.         index = FreeMarkerIDs[--FreeMarkerCount];  // Get the last free ID and remove it from the list
  319.     } else {
  320.         if (MarkerCount[playerid] >= MAX_MARKERS) {
  321.             printf("Player %d has reached the maximum number of markers!", playerid);
  322.             return -1;  // Cannot create more markers
  323.         }
  324.         index = MarkerCount[playerid]++;  // Otherwise, create a new marker with a new ID
  325.     }
  326.     MarkerTiki[playerid][index] = CreateDynamicObject(1276, X, Y, Z - 3.500, 0.0, 0.0, 0.0, vw, interior, playerid, DrawDist);//- 3.500 - 2.700
  327.     if(type >= 0 && type < 115 || type > 235){
  328.     MarkerDecal[playerid][index] = CreateDynamicObject(19329, X, Y, Z, 0.0, 0.0, 0.0, vw, interior, playerid, DrawDist);//19329
  329.     MarkerHoop[playerid][index] = CreateDynamicObject(1316, X, Y, Z, 0.0, 0.0, 0.0, vw, interior, playerid, DrawDist);
  330.     SetDynamicObjectMaterial(MarkerTiki[playerid][index], 0, 0, "none", "none", 0);
  331.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 2.600, 0.0, 0.0, 0.0, 1);//2.600 1.800
  332.     SetDynamicObjectMaterial(MarkerHoop[playerid][index], 0, -1, "none", "none-2", colh);
  333.     AttachDynamicObjectToObject(MarkerDecal[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 3.350, 0.0, 0.0, 0.0, 1);//3.350 2.450
  334.     }
  335.    
  336.     if(type > 0 && type < 116 || type >= 120 ){//&& type < 239
  337.     MarkerTag[playerid][index] = CreateDynamic3DTextLabel(dtext, col3d, X, Y, Z + 0.500, tdrawdist, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, testl, vw, interior, playerid);
  338.     }
  339.     if(type >= 121 && type < 235){
  340.     MarkerHoop[playerid][index] = CreateDynamicObject(1317, 1186.3888,-1319.2849,13.5580, 0.0, 0.0, 0.0, 0, 0, playerid, DrawDist);
  341.     MarkerDecal[playerid][index] = CreateDynamicObject(19131, 1186.3888,-1319.2849,13.5580, 0.0, 0.0, 0.0, 0, 0, playerid, DrawDist);
  342.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 2.515, 0.0, 0.0, 0.0, 1);//2.600 1.800
  343.     AttachDynamicObjectToObject(MarkerDecal[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 4.515, 0.0, 0.0, 0.0, 1);//2.600 1.800
  344.     SetDynamicObjectMaterial(MarkerHoop[playerid][index], 0, 10255, "chinatownsfe", "sf_chinashopground", colh);
  345.     SetDynamicObjectMaterial(MarkerDecal[playerid][index], 1, 10255, "chinatownsfe", "sf_chinashopground", colh);
  346.     }
  347.     //printf("Marker %d created for player %d at (%.2f, %.2f, %.2f)", index, playerid, X, Y, Z);
  348.     switch(type){
  349.     case Vehicle:{
  350.     AttachDynamicObjectToObject(MarkerDecal[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 3.950, 0.0, 0.0 + 90.0, 0.0, 1);//3.650 3.000
  351.     MarkerTag[playerid][index] = CreateDynamic3DTextLabel(dtext, col3d, X, Y, Z + 1.800, tdrawdist, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, testl, vw, interior, playerid);
  352.     SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "skipicon", col); //Vehicle Marker
  353.     }
  354.     case Zero: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_ZERO", col); //Zero Marker
  355.     case Woozie: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_WOOZIE", col); //Woozie Marker
  356.     case Waypoint: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_waypoint", col); //Waypoint Marker
  357.     case Tshirt: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_tshirt", col); //Tshirt Marker
  358.     case Truck: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_truck", col); //Truck Marker
  359.     case TriadsCasino: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_triadsCasino", col); //TriadsCasino Marker
  360.     case Triads: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_triads", col); //Triads Marker
  361.     case TorenoRanch: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_TorenoRanch", col); //TorenoRanch Marker
  362.     case TORENO: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_TORENO", col); //TORENO Marker
  363.     case THETRUTH: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_THETRUTH", col); //THETRUTH Marker
  364.     case Tattoo: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_tattoo", col); //Tattoo Marker
  365.     case SWEET: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_SWEET", col); //SWEET Marker
  366.     case Spray: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_spray", col); //Spray Marker
  367.     case School: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_school", col); //School Marker*/
  368.     case SaveGame: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_saveGame", col); //SaveGame Marker
  369.     case RYDER: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_RYDER", col); //RYDER Marker
  370.     case Runway: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_runway", col); //Runway Marker
  371.     case Race: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_race", col); //Race Marker
  372.     case Qmark: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_qmark", col); //Qmark Marker
  373.     case PropertyR: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_propertyR", col); //PropertyR Marker
  374.     case PropertyG: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_propertyG", col); //PropertyG Marker
  375.     case Police: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_police", col); //Police Marker
  376.     case Pizza: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_pizza", col); //Pizza Marker
  377.     case OGLOC: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_OGLOC", col); //OGLOC Marker
  378.     case North: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_north", col); //North Marker
  379.     case ModGarage: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_modGarage", col); //ModGarage Marker
  380.     case MCSTRAP: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_MCSTRAP", col); //MCSTRAP Marker
  381.     case MafiaCasino: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_mafiaCasino", col); //MafiaCasino Marker
  382.     case MADDOG: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_MADDOG", col); //MADDOG Marker
  383.     case LocoSyndicate: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_LocoSyndicate", col); //LocoSyndicate Marker
  384.     case Light: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_light", col); //Light Marker
  385.     case Impound: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_impound", col); //Impound Marker
  386.     case Hostpital: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_hostpital", col); //Hostpital Marker
  387.     case Gym: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gym", col); //Gym Marker
  388.     case Girlfriend: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_girlfriend", col); //Girlfriend Marker
  389.     case GangY: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangY", col); //GangY Marker
  390.     case GangP: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangP", col); //GangP Marker
  391.     case GangN: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangN", col); //GangN Marker
  392.     case GangG: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangG", col); //GangG Marker
  393.     case GangB: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangB", col); //GangB Marker
  394.     case Flag: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_Flag", col); //Flag Marker
  395.     case Fire: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_fire", col); //Fire Marker
  396.     case EnemyAttack: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_enemyAttack", col); //EnemyAttack Marker
  397.     case EmmetGun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_emmetGun", col); //EmmetGun Marker
  398.     case Diner: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_diner", col); //Diner Marker
  399.     case DateFood: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_dateFood", col); //DateFood Marker
  400.     case DateDrink: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_dateDrink", col); //DateDrink Marker
  401.     case DateDisco: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_dateDisco", col); //DateDisco Marker
  402.     case CRASH1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CRASH1", col); //CRASH1 Marker
  403.     case CJ: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CJ", col); //CJ Marker
  404.     case Chicken: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_chicken", col); //Chicken Marker
  405.     case CESARVIAPANDO: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CESARVIAPANDO", col); //CESARVIAPANDO Marker
  406.     case Centre: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_centre", col); //Centre Marker
  407.     case CATALINAPINK: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CATALINAPINK", col); //CATALINAPINK Marker
  408.     case Cash: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_cash", col); //Cash Marker
  409.     case BurgerShot: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_burgerShot", col); //BurgerShot Marker
  410.     case Bulldozer: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_bulldozer", col); //Bulldozer Marker
  411.     case Boatyard: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_boatyard", col); //Boatyard Marker
  412.     case BIGSMOKE: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_BIGSMOKE", col); //BIGSMOKE Marker
  413.     case Barbers: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_barbers", col); //Barbers Marker
  414.     case Ammugun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_ammugun", col); //Ammugun Marker
  415.     case AirYard: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_airYard", col); //AirYard Marker
  416.     case RingPlane: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radarRingPlane", col); //RingPlane Marker
  417.     case Arrow: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "arrow", col); //Arrow Marker
  418.     case HandcuffsBlack0: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 11749, "CSHandcuffs1", "HandcuffsBlack1", col); //HandcuffsBlack0 Marker
  419.     case HandcuffsBlack1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 11750, "CSHandcuffs1", "HandcuffsBlack1", col); //HandcuffsBlack1 Marker
  420.     case HandcuffsBlack2: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19418, "police_things", "handcuffs01", col); //HandcuffsBlack2 Marker
  421.     case FBI: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19777, "MatCopStuff", "FBI_Logo", col); //FBI Marker
  422.     case Fist: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "fist", col); //Fist Marker
  423.     case BRASSKNUCKLE: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 331, "brassknuckle", "BRASSKNUCKLEicon", col); //BRASSKNUCKLE Marker
  424.     case Golfclub: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 333, "golfclub", "golfclubicon", col); //Golfclub Marker
  425.     case Nitestick: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 334, "nitestick", "nitestickicon", col); //Nitestick Marker
  426.     case Knifecur: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 335, "knifecur", "knifecuricon", col); //Knifecur Marker
  427.     case Bat: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 336, "bat", "baticon", col); //Bat Marker
  428.     case Shovel: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 337, "shovel", "shovelicon", col); //Shovel Marker
  429.     case Poolcue: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 338, "poolcue", "poolcueicon", col); //Poolcue Marker
  430.     case Katana: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 339, "katana", "katanaicon", col); //Katana Marker
  431.     case Chainsaw: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 341, "chnsaw", "chnsawicon", col); //Chainsaw Marker
  432.     case Gun_dildo1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 321, "gun_dildo1", "gun_dildo1icon", col); //Gun_dildo1 Marker
  433.     case Gun_dildo2: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 322, "gun_dildo2", "gun_dildo2icon", col); //Gun_dildo2 Marker
  434.     case Gun_vibe1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 323, "gun_vibe1", "gun_vibe1icon", col); //Gun_vibe1 Marker
  435.     case Gun_vibe2: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 324, "gun_vibe2", "gun_vibe2icon", col); //Gun_vibe2 Marker
  436.     case Flowera: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 325, "flowera", "floweraicon", col); //Flowera Marker
  437.     case Gun_cane: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 326, "gun_cane", "gun_caneicon", col); //Gun_cane Marker
  438.     case Grenade: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 342, "grenade", "grenadeicon", col); //Grenade Marker
  439.     case TearGas: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 343, "teargas", "TearGasicon", col); //TearGas Marker
  440.     case Molotov: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 344, "molotov", "molotovicon", col); //Molotov Marker
  441.     case Colt45: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 346, "colt45", "colt45icon", col); //Colt45 Marker
  442.     case Silenced: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 346, "silenced", "silencedicon", col); //Silenced Marker
  443.     case Desert_Eagle: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 348, "desert_eagle", "desert_eagleicon", col); //Desert_Eagle Marker
  444.     case Chromegun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 349, "chromegun", "chromegunicon", col); //Chromegun Marker
  445.     case Sawnoff: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 350, "sawnoff", "sawnofficon", col); //Sawnoff Marker
  446.     case Shotgspa: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 351, "shotgspa", "shotgspaicon", col); //Shotgspa Marker
  447.     case Micro_Uzi: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 352, "micro_uzi", "micro_uziicon", col); //Micro_Uzi Marker
  448.     case Mp5lng: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 353, "mp5lng", "mp5lngicon", col); //Mp5lng Marker
  449.     case Ak47: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 355, "ak47", "ak47icon", col); //Ak47 Marker
  450.     case M4: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 356, "m4", "m4icon", col); //M4 Marker
  451.     case Cuntgun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 357, "cuntgun", "cuntgunicon", col); //Cuntgun Marker
  452.     case SNIPER: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 358, "sniper", "SNIPERicon", col); //SNIPER Marker
  453.     case Rocketla: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 359, "rocketla", "rocketlaicon", col); //Rocketla Marker
  454.     case Heatseek: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 360, "heatseek", "heatseekicon", col); //Heatseek Marker
  455.     case Flame: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 361, "flame", "flameicon", col); //Flame Marker
  456.     case Minigun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 362, "minigun", "minigunicon", col); //Minigun Marker
  457.     case Satchel: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 363, "satchel", "satchelicon", col); //Satchel Marker
  458.     case Bomb: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 364, "bomb", "bombicon", col); //Bomb Marker
  459.     case SPRAYCAN: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 365, "spraycan", "SPRAYCANicon", col); //SPRAYCAN Marker
  460.     case Fire_ex: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 366, "fire_ex", "fire_exicon", col); //Fire_ex Marker
  461.     case Camera: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 367, "camera", "Cameraicon", col); //Camera Marker
  462.     case Nvgoggles: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 368, "nvgoggles", "nvgogglesicon", col); //Nvgoggles Marker
  463.     case Irgoggles: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 369, "irgoggles", "irgogglesicon", col); //Irgoggles Marker
  464.     case Jetpack: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 370, "jetpack", "jetpackicon", col); //Jetpack Marker
  465.     case Gun_para: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 371, "gun_para", "gun_paraicon", col); //Gun_para Marker
  466.     case Tec9: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 372, "tec9", "tec9icon", col); //Tec9 Marker
  467.     case Finish: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 18761, "MatRacing", "checkeredarrows1", col); //Tec9 Marker
  468.     case 115:
  469.     {
  470.     //hoop checkpoint
  471.     MarkerHoop[playerid][index] = CreateDynamicObject(1316, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  472.     MarkerDecal[playerid][index] = CreateDynamicObject(19130, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  473.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 2.600, 0.0, 0.0, 0.0, 1);//2.600 1.800
  474.     AttachDynamicObjectToObject(MarkerDecal[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 4.800, 0.0, 0.0, 0.0, 1);//2.600 1.800
  475.     SetDynamicObjectMaterial(MarkerHoop[playerid][index], 0, 0, "none", "none", colh);
  476.     SetDynamicObjectMaterial(MarkerDecal[playerid][index],  0, 18646, "MatColours", "white", col);
  477.     SetDynamicObjectMaterial(MarkerDecal[playerid][index],  1, 18646, "MatColours", "white", col);
  478.     }
  479.     case 116:
  480.     {
  481.     //yellow enex
  482.     MarkerHoop[playerid][index] = CreateDynamicObject(19605, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  483.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 3.100, 0.0, 0.0, 0.0, 1);//2.600 1.800
  484.     SetDynamicObjectMaterial(MarkerHoop[playerid][index], 0, 19197, "EnExMarkers", "enexmarker1-2", 0);
  485.     }
  486.     case 117:
  487.     {
  488.     //red enex
  489.     MarkerHoop[playerid][index] = CreateDynamicObject(19605, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  490.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 3.100, 0.0, 0.0, 0.0, 1);//2.600 1.800
  491.     }
  492.     case 118:
  493.     {
  494.     //green enex
  495.     MarkerHoop[playerid][index] = CreateDynamicObject(19606, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  496.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 3.100, 0.0, 0.0, 0.0, 1);//2.600 1.800
  497.     }
  498.     case 119:
  499.     {
  500.     //blue enex
  501.     MarkerHoop[playerid][index] = CreateDynamicObject(19607, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  502.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 3.100, 0.0, 0.0, 0.0, 1);//2.600 1.800
  503.     }
  504.     case 120:
  505.     {
  506.     //blank checkpoint
  507.     MarkerHoop[playerid][index] = CreateDynamicObject(1317, X, Y, Z, 0.0, 0.0, 0.0, 0, 0, playerid, 100.0);
  508.     AttachDynamicObjectToObject(MarkerHoop[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 2.515, 0.0, 0.0, 0.0, 1);//2.600 1.800
  509.     SetDynamicObjectMaterial(MarkerHoop[playerid][index], 0, 10255, "chinatownsfe", "sf_chinashopground", colh);
  510.     }
  511.     case CP_Vehicle:{
  512.     SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "skipicon", col); //Vehicle Marker
  513.     AttachDynamicObjectToObject(MarkerDecal[playerid][index], MarkerTiki[playerid][index], 0.0, 0.0, 4.515, 0.0 + 90.0, 0.0, 0.0, 1);//3.650 3.000
  514.     }
  515.     case CP_Zero: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_ZERO", col); //Zero Marker
  516.     case CP_Woozie: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_WOOZIE", col); //Woozie Marker
  517.     case CP_Waypoint: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_waypoint", col); //Waypoint Marker
  518.     case CP_Tshirt: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_tshirt", col); //Tshirt Marker
  519.     case CP_Truck: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_truck", col); //Truck Marker
  520.     case CP_TriadsCasino: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_triadsCasino", col); //TriadsCasino Marker
  521.     case CP_Triads: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_triads", col); //Triads Marker
  522.     case CP_TorenoRanch: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_TorenoRanch", col); //TorenoRanch Marker
  523.     case CP_TORENO: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_TORENO", col); //TORENO Marker
  524.     case CP_THETRUTH: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_THETRUTH", col); //THETRUTH Marker
  525.     case CP_Tattoo: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_tattoo", col); //Tattoo Marker
  526.     case CP_SWEET: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_SWEET", col); //SWEET Marker
  527.     case CP_Spray: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_spray", col); //Spray Marker
  528.     case CP_School: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_school", col); //School Marker*/
  529.     case CP_SaveGame: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_saveGame", col); //SaveGame Marker
  530.     case CP_RYDER: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_RYDER", col); //RYDER Marker
  531.     case CP_Runway: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_runway", col); //Runway Marker
  532.     case CP_Race: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_race", col); //Race Marker
  533.     case CP_Qmark: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_qmark", col); //Qmark Marker
  534.     case CP_PropertyR: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_propertyR", col); //PropertyR Marker
  535.     case CP_PropertyG: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_propertyG", col); //PropertyG Marker
  536.     case CP_Police: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_police", col); //Police Marker
  537.     case CP_Pizza: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_pizza", col); //Pizza Marker
  538.     case CP_OGLOC: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_OGLOC", col); //OGLOC Marker
  539.     case CP_North: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_north", col); //North Marker
  540.     case CP_ModGarage: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_modGarage", col); //ModGarage Marker
  541.     case CP_MCSTRAP: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_MCSTRAP", col); //MCSTRAP Marker
  542.     case CP_MafiaCasino: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_mafiaCasino", col); //MafiaCasino Marker
  543.     case CP_MADDOG: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_MADDOG", col); //MADDOG Marker
  544.     case CP_LocoSyndicate: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_LocoSyndicate", col); //LocoSyndicate Marker
  545.     case CP_Light: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_light", col); //Light Marker
  546.     case CP_Impound: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_impound", col); //Impound Marker
  547.     case CP_Hostpital: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_hostpital", col); //Hostpital Marker
  548.     case CP_Gym: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gym", col); //Gym Marker
  549.     case CP_Girlfriend: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_girlfriend", col); //Girlfriend Marker
  550.     case CP_GangY: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangY", col); //GangY Marker
  551.     case CP_GangP: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangP", col); //GangP Marker
  552.     case CP_GangN: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangN", col); //GangN Marker
  553.     case CP_GangG: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangG", col); //GangG Marker
  554.     case CP_GangB: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_gangB", col); //GangB Marker
  555.     case CP_Flag: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_Flag", col); //Flag Marker
  556.     case CP_Fire: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_fire", col); //Fire Marker
  557.     case CP_EnemyAttack: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_enemyAttack", col); //EnemyAttack Marker
  558.     case CP_EmmetGun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_emmetGun", col); //EmmetGun Marker
  559.     case CP_Diner: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_diner", col); //Diner Marker
  560.     case CP_DateFood: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_dateFood", col); //DateFood Marker
  561.     case CP_DateDrink: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_dateDrink", col); //DateDrink Marker
  562.     case CP_DateDisco: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_dateDisco", col); //DateDisco Marker
  563.     case CP_CRASH1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CRASH1", col); //CRASH1 Marker
  564.     case CP_CJ: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CJ", col); //CJ Marker
  565.     case CP_Chicken: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_chicken", col); //Chicken Marker
  566.     case CP_CESARVIAPANDO: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CESARVIAPANDO", col); //CESARVIAPANDO Marker
  567.     case CP_Centre: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_centre", col); //Centre Marker
  568.     case CP_CATALINAPINK: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_CATALINAPINK", col); //CATALINAPINK Marker
  569.     case CP_Cash: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_cash", col); //Cash Marker
  570.     case CP_BurgerShot: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_burgerShot", col); //BurgerShot Marker
  571.     case CP_Boatyard: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_boatyard", col); //Boatyard Marker
  572.     case CP_BIGSMOKE: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_BIGSMOKE", col); //BIGSMOKE Marker
  573.     case CP_Barbers: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_barbers", col); //Barbers Marker
  574.     case CP_Ammugun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_ammugun", col); //Ammugun Marker
  575.     case CP_AirYard: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_airYard", col); //AirYard Marker
  576.     case CP_RingPlane: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radarRingPlane", col); //RingPlane Marker
  577.     case CP_Arrow: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "arrow", col); //Arrow Marker
  578.     case CP_HandcuffsBlack0: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 11749, "CSHandcuffs1", "HandcuffsBlack1", col); //HandcuffsBlack0 Marker
  579.     case CP_HandcuffsBlack1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 11750, "CSHandcuffs1", "HandcuffsBlack1", col); //HandcuffsBlack1 Marker
  580.     case CP_HandcuffsBlack2: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19418, "police_things", "handcuffs01", col); //HandcuffsBlack2 Marker
  581.     case CP_FBI: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19777, "MatCopStuff", "FBI_Logo", col); //FBI Marker
  582.     case CP_Fist: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "fist", col); //Fist Marker
  583.     case CP_BRASSKNUCKLE: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 331, "brassknuckle", "BRASSKNUCKLEicon", col); //BRASSKNUCKLE Marker
  584.     case CP_Golfclub: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 333, "golfclub", "golfclubicon", col); //Golfclub Marker
  585.     case CP_Nitestick: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 334, "nitestick", "nitestickicon", col); //Nitestick Marker
  586.     case CP_Knifecur: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 335, "knifecur", "knifecuricon", col); //Knifecur Marker
  587.     case CP_Bat: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 336, "bat", "baticon", col); //Bat Marker
  588.     case CP_Shovel: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 337, "shovel", "shovelicon", col); //Shovel Marker
  589.     case CP_Poolcue: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 338, "poolcue", "poolcueicon", col); //Poolcue Marker
  590.     case CP_Katana: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 339, "katana", "katanaicon", col); //Katana Marker
  591.     case CP_Chainsaw: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 341, "chnsaw", "chnsawicon", col); //Chainsaw Marker
  592.     case CP_Gun_dildo1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 321, "gun_dildo1", "gun_dildo1icon", col); //Gun_dildo1 Marker
  593.     case CP_Gun_dildo2: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 322, "gun_dildo2", "gun_dildo2icon", col); //Gun_dildo2 Marker
  594.     case CP_Gun_vibe1: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 323, "gun_vibe1", "gun_vibe1icon", col); //Gun_vibe1 Marker
  595.     case CP_Gun_vibe2: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 324, "gun_vibe2", "gun_vibe2icon", col); //Gun_vibe2 Marker
  596.     case CP_Flowera: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 325, "flowera", "floweraicon", col); //Flowera Marker
  597.     case CP_Gun_cane: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 326, "gun_cane", "gun_caneicon", col); //Gun_cane Marker
  598.     case CP_Grenade: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 342, "grenade", "grenadeicon", col); //Grenade Marker
  599.     case CP_TearGas: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 343, "teargas", "TearGasicon", col); //TearGas Marker
  600.     case CP_Molotov: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 344, "molotov", "molotovicon", col); //Molotov Marker
  601.     case CP_Colt45: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 346, "colt45", "colt45icon", col); //Colt45 Marker
  602.     case CP_Silenced: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 346, "silenced", "silencedicon", col); //Silenced Marker
  603.     case CP_Desert_Eagle: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 348, "desert_eagle", "desert_eagleicon", col); //Desert_Eagle Marker
  604.     case CP_Chromegun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 349, "chromegun", "chromegunicon", col); //Chromegun Marker
  605.     case CP_Sawnoff: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 350, "sawnoff", "sawnofficon", col); //Sawnoff Marker
  606.     case CP_Shotgspa: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 351, "shotgspa", "shotgspaicon", col); //Shotgspa Marker
  607.     case CP_Micro_Uzi: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 352, "micro_uzi", "micro_uziicon", col); //Micro_Uzi Marker
  608.     case CP_Mp5lng: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 353, "mp5lng", "mp5lngicon", col); //Mp5lng Marker
  609.     case CP_Ak47: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 355, "ak47", "ak47icon", col); //Ak47 Marker
  610.     case CP_M4: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 356, "m4", "m4icon", col); //M4 Marker
  611.     case CP_Cuntgun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 357, "cuntgun", "cuntgunicon", col); //Cuntgun Marker
  612.     case CP_SNIPER: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 358, "sniper", "SNIPERicon", col); //SNIPER Marker
  613.     case CP_Rocketla: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 359, "rocketla", "rocketlaicon", col); //Rocketla Marker
  614.     case CP_Heatseek: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 360, "heatseek", "heatseekicon", col); //Heatseek Marker
  615.     case CP_Flame: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 361, "flame", "flameicon", col); //Flame Marker
  616.     case CP_Minigun: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 362, "minigun", "minigunicon", col); //Minigun Marker
  617.     case CP_Satchel: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 363, "satchel", "satchelicon", col); //Satchel Marker
  618.     case CP_Bomb: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 364, "bomb", "bombicon", col); //Bomb Marker
  619.     case CP_SPRAYCAN: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 365, "spraycan", "SPRAYCANicon", col); //SPRAYCAN Marker
  620.     case CP_Fire_ex: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 366, "fire_ex", "fire_exicon", col); //Fire_ex Marker
  621.     case CP_Camera: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 367, "camera", "Cameraicon", col); //Camera Marker
  622.     case CP_Nvgoggles: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 368, "nvgoggles", "nvgogglesicon", col); //Nvgoggles Marker
  623.     case CP_Irgoggles: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 369, "irgoggles", "irgogglesicon", col); //Irgoggles Marker
  624.     case CP_Jetpack: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 370, "jetpack", "jetpackicon", col); //Jetpack Marker
  625.     case CP_Gun_para: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 371, "gun_para", "gun_paraicon", col); //Gun_para Marker
  626.     case CP_Tec9: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 372, "tec9", "tec9icon", col); //Tec9 Marker
  627.     case CP_Bulldozer: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 19255, "hud", "radar_bulldozer", col); //Bulldozer Marker
  628.     case CP_Finish: SetDynamicObjectMaterial(MarkerDecal[playerid][index], 0, 18761, "MatRacing", "checkeredarrows1", col); //CP_Finish Marker
  629.     case Hoop_Info: SetDynamicObjectMaterialText(MarkerDecal[playerid][index], 0,"!",OBJECT_MATERIAL_SIZE_32x32, "Impact",32, 1, col, 0x00000000, 1); //Hoop_Info Marker id 238
  630.     case Hoop_Money: SetDynamicObjectMaterialText(MarkerDecal[playerid][index], 0,"$",OBJECT_MATERIAL_SIZE_32x32, "Impact",32, 1, col, 0x00000000, 1); //Hoop_Money Marker id 239
  631.     }
  632.     SetDynamicObjectNoCameraCol(MarkerDecal[playerid][index]);
  633.     SetDynamicObjectNoCameraCol(MarkerHoop[playerid][index]);
  634.     SetDynamicObjectNoCameraCol(MarkerTiki[playerid][index]);
  635.     return index;
  636. }
  637.  
  638. stock DestroyAllMarkers(playerid)
  639. {
  640.     for (new i = 0; i < MarkerCount[playerid]; i++)
  641.     {
  642.         if(IsPlayerNPC(playerid)) return;
  643.         if(IsPlayerConnected(playerid) && MarkerCount[playerid] != 0)
  644.         {
  645.         DestroyMarker(playerid, i);
  646.         }
  647.     }
  648.  
  649.     MarkerCount[playerid] = INVALID_MARKERS_ID;
  650.     //printf("All markers destroyed for player %d", playerid);
  651. }
  652.  
  653.  
  654. // Get Marker ID by player and validate if the marker exists
  655. stock GetMarkerID(playerid, markerid) {
  656.     // Check if the markerid is valid (index within range)
  657.     if (markerid < 0 || markerid >= MarkerCount[playerid]) {
  658.         return INVALID_MARKERS_ID; // Marker does not exist
  659.     }
  660.  
  661.     // Check if the specific marker is valid (exists)
  662.     if (!IsValidDynamicObject(MarkerTiki[playerid][markerid])) return INVALID_MARKERS_ID;
  663.     if (!IsValidDynamicObject(MarkerDecal[playerid][markerid])) return INVALID_MARKERS_ID;
  664.     if (!IsValidDynamicObject(MarkerHoop[playerid][markerid])) return INVALID_MARKERS_ID;
  665.     if (!IsValidDynamic3DTextLabel(MarkerTag[playerid][markerid])) return INVALID_MARKERS_ID;
  666.  
  667.     // Marker is valid debug
  668.     //printf("MarkerID: %d is Valid for playerid: %d", markerid, playerid);
  669.     return markerid;  // Return the valid marker ID
  670. }
  671.  
  672. // Function to destroy a marker
  673. stock DestroyMarker(playerid, markerid) {
  674.     if (markerid < 0 || markerid >= MarkerCount[playerid]) {
  675.         return -1;  // Invalid marker ID
  676.     }
  677.  
  678.     // Check if the marker exists and destroy its dynamic objects
  679.     if (IsValidDynamicObject(MarkerTiki[playerid][markerid]))
  680.         DestroyDynamicObject(MarkerTiki[playerid][markerid]);
  681.     if (IsValidDynamicObject(MarkerDecal[playerid][markerid]))
  682.         DestroyDynamicObject(MarkerDecal[playerid][markerid]);
  683.     if (IsValidDynamicObject(MarkerHoop[playerid][markerid]))
  684.         DestroyDynamicObject(MarkerHoop[playerid][markerid]);
  685.     if (IsValidDynamic3DTextLabel(MarkerTag[playerid][markerid]))
  686.         DestroyDynamic3DTextLabel(MarkerTag[playerid][markerid]);
  687.  
  688.     // Add the destroyed marker ID to the free IDs list
  689.     FreeMarkerIDs[FreeMarkerCount++] = markerid;
  690.  
  691.     // Reset marker data
  692.     MarkerTiki[playerid][markerid] = INVALID_MARKERS_ID;
  693.     MarkerDecal[playerid][markerid] = INVALID_MARKERS_ID;
  694.     MarkerHoop[playerid][markerid] = INVALID_MARKERS_ID;
  695.    
  696.     //printf("MarkerID %d Destroyed for player %d", markerid, playerid);
  697.     return 1;
  698. }
  699.  
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement