dann1s

Untitled

Feb 9th, 2020
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.47 KB | None | 0 0
  1. //obrisi komandu /kreirajnpc
  2. //replace sve ispod
  3.  
  4. // enum zbog br misija, stavljen na 2 jer imaju sad 2 misije-
  5. enum MisijeEnum
  6. {
  7.     imeAktora[MAX_PLAYER_NAME],
  8.     Float: misijaX,
  9.     Float: misijaY,
  10.     Float: misijaZ,
  11.     misija_Ikonica,
  12.     bool:misija_Aktivna,
  13.     max_Ucesnika,
  14.     misija_AktivniID,
  15.     misija_Step,
  16.     br_Misija,
  17.     misija_CP,
  18.     misija_uPickup,
  19.     misija_uCP,
  20.     misija_uNosi
  21. }
  22. new
  23.     MisijeData[][MisijeEnum] = {
  24.         //aktor,  x, y, z, icon, akt, max.u, id, korak, zadnji id, br misija
  25.         {"Sweet", 2514.6431,-1674.0308,13.6669, 38, false, 5, -1, 1, 2}
  26.     };
  27.  
  28.  
  29. Stvori_NPC(Float:NPC_X, Float:NPC_Y, Float:NPC_Z, Float:NPC_A, NPC_skin = 60, heistid = -1, misijaid = -1, meta = INVALID_PLAYER_ID, bool:npc_Vojnik = true) {
  30.  
  31.     new id = Iter_Free(NPCS), npcid;
  32.     if(id == -1) return 1;
  33.     new npcime[24];
  34.     format(npcime, sizeof(npcime), "NPC_I%d", id);
  35.     npcid = FCNPC_Create(npcime);
  36.     FCNPC_Spawn(npcid, NPC_skin, NPC_X, NPC_Y, NPC_Z);
  37.     FCNPC_SetAngle(npcid, NPC_A);
  38.     NPCInfo[id][NPC_ID] = npcid;
  39.     NPCInfo[id][NPC_AktivnaMeta] = meta;
  40.     NPCInfo[id][NPC_Heist] = heistid;
  41.     NPCInfo[id][NPC_Misija] = misijaid;
  42.     NPCInfo[id][NPC_Mrtav] = false;
  43.     if(npc_Vojnik) {
  44.         switch(random(6)) {
  45.             case 0: FCNPC_SetWeapon(npcid, 24);
  46.             case 1: FCNPC_SetWeapon(npcid, 25);
  47.             case 2: FCNPC_SetWeapon(npcid, 28);
  48.             case 3: FCNPC_SetWeapon(npcid, 29);
  49.             case 4: FCNPC_SetWeapon(npcid, 30);
  50.             case 5: FCNPC_SetWeapon(npcid, 31);
  51.         }
  52.         FCNPC_SetAmmo(npcid, 300);
  53.         FCNPC_UseReloading(npcid, true);
  54.         FCNPC_SetInvulnerable(npcid, false);
  55.     }
  56.     Iter_Add(NPCS, id);
  57.     return npcid;
  58. }
  59.  
  60. Igrac_MisijaUpdate(i, playerid) {
  61.  
  62.     for(new id; id < 20; id++) {
  63.         if(IsValidDynamicMapIcon(ObjectiveIkone[playerid][id])) DestroyDynamicMapIcon(ObjectiveIkone[playerid][id]);
  64.     }
  65.     if(i == 0) // Sweet Misije
  66.     {
  67.         if(MisijeData[i][misija_AktivniID] == 1 || MisijeData[i][misija_AktivniID] == 2)
  68.         {
  69.             new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  70.             for(new id; id < sizeof(NPCInfo); id++)
  71.             {
  72.                 if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  73.                 {
  74.                     FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  75.                     ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  76.                     ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  77.                     nextid++;
  78.                 }
  79.             }
  80.         }
  81.     }
  82. }
  83.  
  84. MisijaObavijest(i, id)
  85. {
  86.     new misija_string[166];
  87.     if(i == 0) // Sweet
  88.     {
  89.         if(MisijeData[i][misija_AktivniID] == 1) {
  90.             if(MisijeData[i][misija_Step] == 1) format(misija_string, sizeof(misija_string), "Ubij ~r~~h~Ballas pripadnike~w~~h~ koji drze informacije o Sweetu.");
  91.             else if(MisijeData[i][misija_Step] == 2) format(misija_string, sizeof(misija_string), "Uzmi ~g~~h~paket~w~~h~ od clana bande.");
  92.             else if(MisijeData[i][misija_Step] == 3) format(misija_string, sizeof(misija_string), "Vrati se nazad kod ~y~~h~Sweeta~w~~h~.");
  93.         }
  94.         else if(MisijeData[i][misija_AktivniID] == 2) {
  95.             if(MisijeData[i][misija_Step] == 1) format(misija_string, sizeof(misija_string), "Ballasi su se nastanili na Groove zonama, ~r~~h~ubij Ballase ~w~~h~koji su na teritoriji.");
  96.             else if(MisijeData[i][misija_Step] == 2) format(misija_string, sizeof(misija_string), "Javljeno je da je u Jeffersonu jos jedna grupa, ~r~~h~ubij ih~w~~h~.");
  97.             else if(MisijeData[i][misija_Step] == 3) format(misija_string, sizeof(misija_string), "Zadnja skupina je ispod mosta u Glen Parku, ~r~~h~pocisti preostale Ballas pripadnike~w~~h~.");
  98.         }
  99.     }
  100.    
  101.     // | Slanje Subtitlova | //
  102.     if(id == -1) {
  103.         foreach(new playerid : Player) { if(uMisiji[playerid] == i) { Subtitle(playerid, misija_string, 5000); } }
  104.     }
  105.     else Subtitle(id, misija_string, 5000);
  106. }
  107.  
  108. MisijaUpdate(i) {
  109.  
  110.     MisijaObavijest(i, -1);
  111.     MisijeData[i][misija_uCP] = 0;
  112.     foreach(new playerid : Player) {
  113.         if(uMisiji[playerid] == i) {
  114.             for(new id; id < 20; id++) {
  115.                 if(IsValidDynamicMapIcon(ObjectiveIkone[playerid][id])) DestroyDynamicMapIcon(ObjectiveIkone[playerid][id]);
  116.             }
  117.         }
  118.     }
  119.     if(i == 0) // Sweet
  120.     {
  121.         if(MisijeData[i][misija_AktivniID] == 1)
  122.         {
  123.             if(MisijeData[i][misija_Step] == 1) {
  124.                 Stvori_NPC(2653.3987,-2038.3024,13.5500, 90.0, 102, -1, i);
  125.                 Stvori_NPC(2651.6526,-2040.3372,13.5500, 90.0, 103, -1, i);
  126.                 Stvori_NPC(2655.1497,-2035.1014,13.5469, 90.0, 104, -1, i);
  127.                 Stvori_NPC(2654.7795,-2032.3944,13.5469, 90.0, 102, -1, i);
  128.                 Stvori_NPC(2655.4678,-2038.9662,13.5500, 90.0, 103, -1, i);
  129.                 Stvori_NPC(2655.4014,-2043.0978,13.5500, 90.0, 104, -1, i);
  130.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  131.                 foreach(new playerid : Player) {
  132.                     if(uMisiji[playerid] == i) {
  133.                         nextid = 0;
  134.                         for(new id; id < sizeof(NPCInfo); id++)
  135.                         {
  136.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  137.                             {
  138.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  139.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  140.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  141.                                 nextid++;
  142.                             }
  143.                         }
  144.                     }
  145.                 }
  146.             }
  147.             else if(MisijeData[i][misija_Step] == 2) {
  148.               if(IsValidDynamicPickup(MisijeData[i][misija_uPickup])) DestroyDynamicPickup(MisijeData[i][misija_uPickup]);
  149.                 MisijeData[i][misija_uPickup] = CreateDynamicPickup(1580, 1, 2651.6526,-2040.3372,13.5500);
  150.                 foreach(new playerid : Player) {
  151.                     if(uMisiji[playerid] == i) {
  152.                         ObjectiveIkone[playerid][0] = CreateDynamicMapIcon(2651.6526,-2040.3372,13.5500, 0, 0x6FFF7CFF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  153.                     }
  154.                 }
  155.             }
  156.             else if(MisijeData[i][misija_Step] == 3) {
  157.                 if(IsValidDynamicPickup(MisijeData[i][misija_uPickup])) DestroyDynamicPickup(MisijeData[i][misija_uPickup])
  158.                 MisijeData[i][misija_uCP] = 1;
  159.                 foreach(new playerid : Player) {
  160.                     if(uMisiji[playerid] == i) {
  161.                         DisablePlayerCheckpoint(playerid);
  162.                         SetPlayerCheckpoint(playerid, 2509.4224,-1672.8783,13.3912, 1.0);
  163.                     }
  164.                 }
  165.             }
  166.             else if(MisijeData[i][misija_Step] == 4) {
  167.                 ZavrsiMisiju(i);
  168.             }
  169.         }
  170.         else if(MisijeData[i][misija_AktivniID] == 2)
  171.         {
  172.             MisijeData[i][misija_uCP] = 0;
  173.             if(MisijeData[i][misija_Step] == 1) {
  174.                 Stvori_NPC(2262.5935,-1448.9528,23.8281,205.9649,102,-1,i);
  175.                 Stvori_NPC(230,2264.2104,-1448.6180,23.8281,132.8009,103,-1,i);
  176.                 Stvori_NPC(230,2263.6790,-1450.4293,23.8281,45.2626,104,-1,i);
  177.                 Stvori_NPC(230,2261.8704,-1450.0481,23.8281,335.4395,102,-1,i);
  178.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  179.                 foreach(new playerid : Player) {
  180.                     if(uMisiji[playerid] == i) {
  181.                         nextid = 0;
  182.                         for(new id; id < sizeof(NPCInfo); id++)
  183.                         {
  184.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  185.                             {
  186.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  187.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  188.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  189.                                 nextid++;
  190.                             }
  191.                         }
  192.                     }
  193.                 }
  194.             }
  195.             else if(MisijeData[i][misija_Step] == 2) {
  196.                 Stvori_NPC(2135.6462,-1291.0679,23.9813,268.3913,102,-1,i);
  197.                 Stvori_NPC(2137.9417,-1289.6681,24.1172,178.1564,103,-1,i);
  198.                 Stvori_NPC(2139.8589,-1290.8550,23.9833,90.7355,104,-1,i);
  199.                 Stvori_NPC(2137.7063,-1292.9683,23.9804,359.0964,102,-1,i);
  200.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  201.                 foreach(new playerid : Player) {
  202.                     if(uMisiji[playerid] == i) {
  203.                         nextid = 0;
  204.                         for(new id; id < sizeof(NPCInfo); id++)
  205.                         {
  206.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  207.                             {
  208.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  209.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  210.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  211.                                 nextid++;
  212.                             }
  213.                         }
  214.                     }
  215.                 }
  216.             }
  217.             else if(MisijeData[i][misija_Step] == 3) {
  218.                 Stvori_NPC(1963.8767,-1220.9664,20.0234,217.4686,102,-1,i);
  219.                 Stvori_NPC(1966.0679,-1221.7527,20.0234,153.5088,103,-1,i);
  220.                 Stvori_NPC(1964.5516,-1224.4332,20.0234,333.5089,104,-1,i);
  221.                 Stvori_NPC(1966.4941,-1224.5947,20.0234,55.9163,102,-1,i);
  222.                 Stvori_NPC(1966.9565,-1223.0514,20.0234,93.5050,103,-1,i);
  223.                 Stvori_NPC(1962.1801,-1223.1127,20.0234,272.6433,104,-1,i);
  224.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  225.                 foreach(new playerid : Player) {
  226.                     if(uMisiji[playerid] == i) {
  227.                         nextid = 0;
  228.                         for(new id; id < sizeof(NPCInfo); id++)
  229.                         {
  230.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  231.                             {
  232.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  233.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  234.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  235.                                 nextid++;
  236.                             }
  237.                         }
  238.                     }
  239.                 }
  240.             }
  241.             else if(MisijeData[i][misija_Step] == 4) {
  242.                 ZavrsiMisiju(i);
  243.             }
  244.         }
  245.     }
  246. }               DisablePlayerCheckpoint(playerid);
  247.                         SetPlayerCheckpoint(playerid, 2509.4224,-1672.8783,13.3912, 1.0);
  248.                     }
  249.                 }
  250.             }
  251.             else if(MisijeData[i][misija_Step] == 4) {
  252.                 ZavrsiMisiju(i);
  253.             }
  254.         }
  255.         else if(MisijeData[i][misija_AktivniID] == 2)
  256.         {
  257.             if(MisijeData[i][misija_Step] == 1) {
  258.                 Stvori_NPC(2262.5935,-1448.9528,23.8281,205.9649,102,-1,i);
  259.                 Stvori_NPC(230,2264.2104,-1448.6180,23.8281,132.8009,103,-1,i);
  260.                 Stvori_NPC(230,2263.6790,-1450.4293,23.8281,45.2626,104,-1,i);
  261.                 Stvori_NPC(230,2261.8704,-1450.0481,23.8281,335.4395,102,-1,i);
  262.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  263.                 foreach(new playerid : Player) {
  264.                     if(uMisiji[playerid] == i) {
  265.                         nextid = 0;
  266.                         for(new id; id < sizeof(NPCInfo); id++)
  267.                         {
  268.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  269.                             {
  270.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  271.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  272.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  273.                                 nextid++;
  274.                             }
  275.                         }
  276.                     }
  277.                 }
  278.             }
  279.             else if(MisijeData[i][misija_Step] == 2) {
  280.                 Stvori_NPC(2135.6462,-1291.0679,23.9813,268.3913,102,-1,i);
  281.                 Stvori_NPC(2137.9417,-1289.6681,24.1172,178.1564,103,-1,i);
  282.                 Stvori_NPC(2139.8589,-1290.8550,23.9833,90.7355,104,-1,i);
  283.                 Stvori_NPC(2137.7063,-1292.9683,23.9804,359.0964,102,-1,i);
  284.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  285.                 foreach(new playerid : Player) {
  286.                     if(uMisiji[playerid] == i) {
  287.                         nextid = 0;
  288.                         for(new id; id < sizeof(NPCInfo); id++)
  289.                         {
  290.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  291.                             {
  292.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  293.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  294.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  295.                                 nextid++;
  296.                             }
  297.                         }
  298.                     }
  299.                 }
  300.             }
  301.             else if(MisijeData[i][misija_Step] == 3) {
  302.                 Stvori_NPC(1963.8767,-1220.9664,20.0234,217.4686,102,-1,i);
  303.                 Stvori_NPC(1966.0679,-1221.7527,20.0234,153.5088,103,-1,i);
  304.                 Stvori_NPC(1964.5516,-1224.4332,20.0234,333.5089,104,-1,i);
  305.                 Stvori_NPC(1966.4941,-1224.5947,20.0234,55.9163,102,-1,i);
  306.                 Stvori_NPC(1966.9565,-1223.0514,20.0234,93.5050,103,-1,i);
  307.                 Stvori_NPC(1962.1801,-1223.1127,20.0234,272.6433,104,-1,i);
  308.                 new nextid = 0, Float:N_PX, Float:N_PY, Float:N_PZ;
  309.                 foreach(new playerid : Player) {
  310.                     if(uMisiji[playerid] == i) {
  311.                         nextid = 0;
  312.                         for(new id; id < sizeof(NPCInfo); id++)
  313.                         {
  314.                             if(NPCInfo[id][NPC_Misija] == i && FCNPC_IsValid(NPCInfo[id][NPC_ID]))
  315.                             {
  316.                                 FCNPC_GetPosition(NPCInfo[id][NPC_ID], N_PX, N_PY, N_PZ);
  317.                                 ObjectiveIkone[playerid][nextid] = CreateDynamicMapIcon(N_PX, N_PY, N_PZ, 0, 0xF81414FF, .playerid = playerid, .streamdistance = 10000.0, .style = MAPICON_GLOBAL);
  318.                                 ObjectiveNPC[playerid][nextid] = NPCInfo[id][NPC_ID];
  319.                                 nextid++;
  320.                             }
  321.                         }
  322.                     }
  323.                 }
  324.             }
  325.             else if(MisijeData[i][misija_Step] == 4) {
  326.                 ZavrsiMisiju(i);
  327.             }
  328.         }
  329.     }
  330. }
Add Comment
Please, Sign In to add comment