[TUTORIAL] Kako napraviti Posao ?

Započeo .ysi, Februar 08, 2022, 01:42:39 PRE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Kako napraviti posao ?

Ovo cu napraviti bez gledanja u bilo kakav mod tkd ako nesto pogresim molim vas da me ispravite  :)

Checkpoints

Najprije cemo uci u sampdebug / obicni samp srw i sacuvati checkpointe sa /save [bilo sta] CP for JOB
Posle kada sacuvamo CP ici cemo u Computer / Documents / GTA San Andreas User Files / SAMP / savedpositions i tu ce vam pisati cordinate od vasih CP
Znaci nama samo trebaju X,Y,Z - https://imgur.com/a/PlUuYTX

News

Ovo cemo dodati negdje u vrhu skripte(sto se mene tice dodao bih odmah posle #defines ili gde nam stoje svi news):
[pawn]
new PosaoCP[MAX_PLAYERS]=-1;
new PosaoVozilo[1]; //stavite koliko imate vozila,u mom slucaju jedno
[/pawn]

I da,trebat ce vam Login / Register System za ovo gde mozete naci na slijedecem linku: https://balkan-samp.com/forum/index.php?topic=141107.0

Dodajte pPosao...

Komande

[pawn]
CMD:posao(playerid, params[])
{
   if(IsPlayerInRangeOfPoint(playerid, 3.0, vase kordinate)) return SendClientMessage(playerid, -1, "Niste na mestu za zaposljavanje.");
   PlayerInfo[playerid][pPosao] = 1; //zavisi koji je posao,ako imate vise poslova povecavate cifru sa 1 na vise
   return 1;
}

CMD:linija(playerid, params[])
{
   if(PlayerInfo[playerid][pPosao] == 1) return SendClientMessage(playerid, -1, "Niste zaposljen kao Bus Vozac");
   SetPlayerCheckpoint(playerid, vase kordinate, 2);
   PosaoCP[playerid] = 1;
   return 1;
}
[/pawn]

OnPlayerEnterCheckpoint

Ovo dodajte pod OnPlayerEnterCheckpoint
[pawn]
        switch(PosaoCP[playerid])
   {
       case 1:
       {
                //kada udje u 1 CP da mu nestane(DisablePlayerCheckpoint) i stvori drugi (SetPlayerCheckpoint)
           DisablePlayerCheckpoint(playerid);
                SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");
      SetPlayerCheckpoint(playerid, stavite svoje kordinate X Y Z, 2);
      PosaoCP[playerid] = 2;
       }
       case 2:
       {
           DisablePlayerCheckpoint(playerid);
      SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");
      SetPlayerCheckpoint(playerid, stavite svoje kordinate X Y Z, 2);
      PosaoCP[playerid] = 3;
       }
       case 3:
       {
                //kada udje u zadnji cp da mu nestane(Disable) i dadne platu
           DisablePlayerCheckpoint(playerid);
                GivePlayerMoney(playerid, vasa kolicina);
      SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Zavrsio si posao,dobio si platu od 'vasa kolicina'");
      PosaoCP[playerid] = -1;
       }
}
[/pawn]

Posao Vozila

Najprije dodajte stock PosaoVozila:  //morao sam izvodjiti iz IG moda
[pawn]
stock PosaoVozila(carid) 
{
   for(new i = 0; i < sizeof(PosaoVozilo); i++)
   {
      if(carid == PosaoVozilo) return 1;
   }
   return 0;
}
[/pawn]

Pod OnGameModeInit dodat cemo: //dodajemo vozilo da se spawnuje
[pawn]
PosaoVozilo[0] = CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, addsiren=0)
[/pawn]

Sada idemo pod OnPlayerEnterVehicle
[pawn]
if(PosaoVozila(vehicleid)) //sto znaci da kada igrac pokusa uci u vozilo,a pritom da nijie zaposlen kao taj posao izbacit ce ga iz vozila
      {
         if(PlayerInfo[playerid][pPosao] < 1)
         {
            new Float:Poz[3];
                     GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
            SetPlayerPos(playerid, Poz[0], Poz[1]+0.1, Poz[2]);
            GameTextForPlayer(playerid, "Samo zaposleni kao Bus Vozac", 5000, 5);
         }
      }
[/pawn]

Kraj

U glavnom ovako na ovaj princip se pravi neki posao(barem ja tako mislim)
Ako sam nesto zaboravio molim vas ispravite me...
Nadam se da ce nekome posluziti,LP.
Poslednja Izmena: Februar 08, 2022, 01:46:01 PRE PODNE od Sync
e

A zasto ti pokusavas nekoga da naucis to kada ni sam ne znas?

Da si uradio sam svoje ne verujem ali ipak dobro takav tutorijal isti sam vec video ne ovde
Sunce greje lagano šetam se po Voždovcu
Moja kučka i ja, furam je na povodcu
Zove se Lola i nije nešto lepa
Ali meni daće lapo kada dokopa se repa
Rođena na ulici, dolazi iz geta
I zato je gangsta kučka, a ne starleta
Zahvaljujući njoj meni dignuta je đoka
Krov je spušten, vožnjica od bloka do bloka
I ako glumiš mangupa jebaće ti mamicu
U tašni nema lak za nokte, ali ima palicu
Odrasla na Medaku, iz huda je sestra
Nijedna Snoopova kučka nije tol'ko gangsta
Za nju sam 'Pac, ona moja je Madonna
Ako znaš još neku takvu javi mi preko fona
I kada njesra izbije ona ne vata pištolja
Već nabada na prvu jer je gangsta drolja




Idemo ovako

pogresno
[pawn]new PosaoVozilo[1]; //stavite koliko imate vozila,u mom slucaju jedno[/pawn]
ispravno
[pawn]const PosaoVozilo = 1; //stavite koliko imate vozila,u mom slucaju jedno[/pawn]

nije lose ovo ali zasto da bezveze kucas parametre koji nista ne znace
[pawn]if(PlayerInfo[playerid][pPosao] == 1) return SendClientMessage(playerid, -1, "Niste zaposljen kao Bus Vozac");[/pawn]
moze
[pawn]if(PlayerInfo[playerid][pPosao]) return SendClientMessage(playerid, -1, "Niste zaposljen kao Bus Vozac");[/pawn]

ovo mi se ne svidja
[pawn]switch(PosaoCP[playerid])
   {
       case 1:
       {
                //kada udje u 1 CP da mu nestane(DisablePlayerCheckpoint) i stvori drugi (SetPlayerCheckpoint)
           DisablePlayerCheckpoint(playerid);
                SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");
      SetPlayerCheckpoint(playerid, stavite svoje kordinate X Y Z, 2);
      PosaoCP[playerid] = 2;
       }
       case 2:
       {
           DisablePlayerCheckpoint(playerid);
      SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");
      SetPlayerCheckpoint(playerid, stavite svoje kordinate X Y Z, 2);
      PosaoCP[playerid] = 3;
       }
       case 3:
       {
                //kada udje u zadnji cp da mu nestane(Disable) i dadne platu
           DisablePlayerCheckpoint(playerid);
                GivePlayerMoney(playerid, vasa kolicina);
      SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Zavrsio si posao,dobio si platu od `vasa kolicina`");
      PosaoCP[playerid] = -1;
       }[/pawn]

ovako je vec bolje

[pawn]switch(PosaoCP[playerid])
   {
       case 1:
       {
                //kada udje u 1 CP da mu nestane(DisablePlayerCheckpoint) i stvori drugi (SetPlayerCheckpoint)
           DisablePlayerCheckpoint(playerid);
                SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");
      SetPlayerCheckpoint(playerid, stavite svoje kordinate X Y Z, 2);
      PosaoCP[playerid]++;
                return 1;
       }
       case 2:
       {
           DisablePlayerCheckpoint(playerid);
      SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");
      SetPlayerCheckpoint(playerid, stavite svoje kordinate X Y Z, 2);
      PosaoCP[playerid]++;
                return 1;
       }
       case 3:
       {
                //kada udje u zadnji cp da mu nestane(Disable) i dadne platu
           DisablePlayerCheckpoint(playerid);
                GivePlayerMoney(playerid, vasa kolicina);
      SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Zavrsio si posao,dobio si platu od `vasa kolicina`");
      PosaoCP[playerid] = -1;
                return 1;
       }[/pawn]

za ovo i da ne pricam nista
[pawn]SCM(playerid, -1, ""IGBOJA"(ZADATAK) "BIJELA"Uspesno ste dosli do odredjene lokacije,nastavite dalje.");[/pawn]

ovo mozes skratiti
[pawn]stock PosaoVozila(carid)
{
   for(new i = 0; i < sizeof(PosaoVozilo); i++)
   {
      if(carid == PosaoVozilo) return 1;
   }
   return 0;
}[/pawn]

ovako
[pawn]stock PosaoVozila(carid)
{
   for(new i = 0; i < sizeof(PosaoVozilo); i++)
      if(carid == PosaoVozilo) return 1;
   return 0;
}[/pawn]

kada uzimas korditane nemoj ovako koristiti zato sto je sporije
[pawn]new Float:Poz[3];[/pawn]
brze
[pawn]new
   Float:X,
   Float:Y,
   Float:C;[/pawn]

Nisam sve pregledao, ali verujem da ima mnogo vise gresaka nego sto sam napisao ovde... Svako dobro!
Poslednja Izmena: Februar 08, 2022, 17:23:07 POSLE PODNE od Fr0z3n




Citat: bishop. poslato Februar 08, 2022, 21:18:20 POSLE PODNE
Ne, uopste nije odlicno.
Ma sta ce mucenik nije video dalje od anderpojinta.
Bitno njemu da radi. Sad kako radi, to koga boli qrac.

Citat: Terza Lazarevic poslato Februar 08, 2022, 21:21:40 POSLE PODNE
da jeste
Da, tebi je odlicno jer ne znas pola ovih stvari i ne znas kako sta funkcionise, a ni on ocigledno.
Pogledaj sta je Fr0z3n napisao, a i ostali su pomenuli po nesto iz zezanja, sto je jako lose.

Citat: srbski southclaws poslato Februar 08, 2022, 21:50:14 POSLE PODNE
Ma sta ce mucenik nije video dalje od anderpojinta.
Bitno njemu da radi. Sad kako radi, to koga boli qrac.
A to je tuzno brate. Oni su videli da to isto radi na takvom nekom gamemodu ili od nekog youtubera koji je juce naucio dve funkcije i odlucio da uci druge, pa onda ljudi misle da je tako ispravno.

Citat: bishop. poslato Februar 08, 2022, 22:20:32 POSLE PODNE
Da, tebi je odlicno jer ne znas pola ovih stvari i ne znas kako sta funkcionise, a ni on ocigledno.
Pogledaj sta je Fr0z3n napisao, a i ostali su pomenuli po nesto iz zezanja, sto je jako lose.
A to je tuzno brate. Oni su videli da to isto radi na takvom nekom gamemodu ili od nekog youtubera koji je juce naucio dve funkcije i odlucio da uci druge, pa onda ljudi misle da je tako ispravno.

Kako voliš kad misliš da ispadaš pametan a ustvari ispadneš glup ko noga lik sarkastično kaže odlično ti nešto nabrajaš čovjeku koji živi od kodiranja i programiranja.. Svašta


Citat: MirsoN poslato Februar 08, 2022, 22:35:26 POSLE PODNE
Kako voliš kad misliš da ispadaš pametan a ustvari ispadneš glup ko noga lik sarkastično kaže odlično ti nešto nabrajaš čovjeku koji živi od kodiranja i programiranja.. Svašta
Ne mislim ja nista, samo sam rekao da je ovo kurcina.
A ko to zivi od kodiranja? Ovaj sto ima Ghetto profilnu? Hahahahaha