Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Johhny_Carter poslato Jul 17, 2017, 20:08:38 POSLE PODNE

Naslov: Checkpoint
Poruka od: Johhny_Carter poslato Jul 17, 2017, 20:08:38 POSLE PODNE
Skripta koju koristim:ARP
Detaljan opis problema:Pa radim posao bus vozac i sad ocu da promjenim rutu tog posla pa nmg da podesim check point na koje mjesto ja ocu kako to da uradim
Dio skripte://
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
Naslov: Odg: Checkpoint
Poruka od: Stifler ツ poslato Jul 17, 2017, 20:26:02 POSLE PODNE
Prvo ides /save na svoje checkpointe koje ti zelis,nadjes u skripti te vec postojece checkpointe,zamijenis samo x,y,z koordinate,kompajlas i tjt.
Naslov: Odg: Checkpoint
Poruka od: Johhny_Carter poslato Jul 17, 2017, 21:43:05 POSLE PODNE
Evo uradio sam kako si trazio i evo sta se desi , dobro mi bude uraden prvi CheckPoint a onda drugi nije na svoje mjesto evo slike
http://imgur.com/a/aQkPt a sacu dio skripte
[pawn] //////////////////////////BUS VOZAC LINIJA 1////////////////////////////////
    if(BusLinija[playerid] == 1 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 1548.3635,-1735.5756,13.1875))
      {
         TogglePlayerControllable(playerid, 0);
         utovar[playerid] = SetTimerEx("utovarbus", 5000, false, "d", playerid);
         GameTextForPlayer(playerid, "~y~Stanica", 5000, 3);
         SetPlayerCheckpoint(playerid, -2514.7390,2413.6909,16.4784, 5.0);
         BusLinija[playerid] = 2;
      }
   }
   if(BusLinija[playerid] == 2 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 1818.9124,-1916.7213,13.1892))
      {
         TogglePlayerControllable(playerid, 0);
         utovar[playerid] = SetTimerEx("utovarbus", 5000, false, "d", playerid);
         GameTextForPlayer(playerid, "~y~Stanica", 5000, 3);
         SetPlayerCheckpoint(playerid, -2423.9082,2431.4741,12.8950, 5.0);
         BusLinija[playerid] = 3;
      }
   }
   if(BusLinija[playerid] == 3 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 2019.0261,-1939.9390,13.1428))
      {
         TogglePlayerControllable(playerid, 0);
         utovar[playerid] = SetTimerEx("utovarbus", 5000, false, "d", playerid);
         GameTextForPlayer(playerid, "~y~Stanica", 5000, 3);
         SetPlayerCheckpoint(playerid, -2339.0476,2395.4517,5.7662, 5.0);
         BusLinija[playerid] = 4;
      }
   }
   if(BusLinija[playerid] == 4 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 1838.0522,-2050.0513,13.1891))
      {
         TogglePlayerControllable(playerid, 0);
         utovar[playerid] = SetTimerEx("utovarbus", 5000, false, "d", playerid);
         GameTextForPlayer(playerid, "~y~Stanica", 5000, 3);
         SetPlayerCheckpoint(playerid, -2383.6018,2347.7971,4.7683, 5.0);
         BusLinija[playerid] = 5;
      }
   }
   if(BusLinija[playerid] == 5 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 1277.3278,-1709.8075,13.1891))
      {
         TogglePlayerControllable(playerid, 0);
         utovar[playerid] = SetTimerEx("utovarbus", 5000, false, "d", playerid);
         GameTextForPlayer(playerid, "~y~Stanica", 5000, 3);
         SetPlayerCheckpoint(playerid, -2469.0283,2293.1836,4.7641, 5.0);
         BusLinija[playerid] = 6;
      }
   }
   if(BusLinija[playerid] == 6 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 1209.5477,-1709.6885,13.1891))
      {
         TogglePlayerControllable(playerid, 0);
         utovar[playerid] = SetTimerEx("utovarbus", 5000, false, "d", playerid);
         GameTextForPlayer(playerid, "~y~Stanica", 5000, 3);
         SetPlayerCheckpoint(playerid, -2467.8928,2245.4097,4.7447, 5.0);
         BusLinija[playerid] = 7;
      }
   }
   if(BusLinija[playerid] == 7 && BusVozila(CID) && GetPlayerState(playerid) == 2)
   {
      if(IsPlayerInRangeOfPoint(playerid, 5.0, 1169.4285,-1766.0760,13.2872))
      {
         new osnovnaplata = JobInfo[BusvozacPlata];
            new bonus = JobInfo[BusvozacBonus], string[120];
            PlayerInfo[playerid][pPlata] += osnovnaplata+bonus;
         format(string,sizeof(string),""HZELENA"Uspesno ste zavrsili bus liniju!\n\n"BELA"Plata: "HZELENA"%d$\n"BELA"Bonus: "HZELENA"%d$",osnovnaplata,bonus);
         ShowPlayerDialog(playerid,DIALOG_ISPLATA,DIALOG_STYLE_MSGBOX,"Kraj ture",string,"OK","");
         BusLinija[playerid] = 0; DisablePlayerCheckpoint(playerid);  FirmaNovac(8, 150);
      }
   }[/pawn]
Naslov: Odg: Checkpoint
Poruka od: GoodbyeSamp poslato Jul 18, 2017, 20:58:43 POSLE PODNE
SetPlayerCheckPoint(playerid, pozicijax,pozicijay,pozicijaz);
stavljas znci poziciju tu to dobijes kda kucas /save onfoot ig
Naslov: Odg: Checkpoint
Poruka od: Tosic ツ poslato Jul 19, 2017, 12:53:10 POSLE PODNE
Prati malo kako ide. Imas global promenljivu BusLinija koju povecavas svaki put sa novim CP. Zatim imas deo IfIsPlayerInRangeOfPoint sa kojim proveravas da li je na tom CP i ako jeste global promenljiva dobija novu vrednost i ti stavljas novi CP. Sad kod tebe se novi postavljeni CP sa proverom gde se igrac nalazi ne poklapaju a to si vrv ti cackao..
Naslov: Odg: Checkpoint
Poruka od: Johhny_Carter poslato Jul 19, 2017, 15:03:32 POSLE PODNE
Hvala vam rijesio sam ;)