[TuT] Polaganje

Započeo Hitman
18. Maj 2013. Zaključano
6,579
pregleda
24
postova
Hitman
5
Crime Lord
18. Maj 2013.
UVOD
  • Ovaj tutorial je pretežno za početnike ali može svakome poslužiti

  • Nisam imao ideju za Å¡ta bih mogao napraviti tutorial pa mi je palo na pamet polaganje

  • Morate znati kako dodati nove varijable za učitavanje/spremanje jer ja to neću objaÅ¡njavati

  • Trebat će nam ZCMD za komande (Download: klik)


POÄŒETAK
  • Definirat ćemo varijablu za polaganje, dodajte pri vrhu

new Polaganje;
  • Za početak trebate dodati na vrh skripte(ukoliko već nemate definirano):

#define SCM SendClientMessage
  • I dodajte pod OnPlayerConnect sljedeće

Polaganje = 0; //stavlja igraču polaganje na 0 pri connectu


VARIJABLE
  • Vi morate dodati varijablu kako bi skripta pamtila da imate vozačku

  • Ovako to kod mene izgleda (ako vi imate drukčije morate si prilagoditi):


enum pInfo
{
        pDozvola
}:
new PI;


KOMANDA /polaganje
  • Sada ćemo napraviti komandu da započnete polaganje

  • U ovoj komandi ako nemate iste nazive varijabli kao ja, morate ih zamijeniti svojim nazivima

CMD:polaganje(playerid, params[])
{
if(!IsPlayerInRangeOfPoint(playerid, 1.0, 1426.9076,-2349.7634,13.8703)) return SCM(playerid, -1, "Niste u autoskoli"); //ako niste na mjestu za polaganje izbacit će vam poruku
if(PI != 0) return SCM(playerid, -1, "Vec posjedujete vozacku dozvolu!"); //ako već imate vozačku dozvolu izbacit će vam poruku
if(GetPlayerMoney(playerid) < 250) return SCM(playerid, -1, "Nemate 250$ za polaganje"); //ako nemate 250$ za polaganje izbacit će vam poruku
Polaganje = 1; //Stavlja igraču polaganje na 1
        GivePlayerMoney(playerid, -250); // oduzima igraču 250$
        SetPlayerCheckpoint(playerid, 1436.3601,-2360.9924,13.3703,3.0); // postavlja igraču prvi checkpoint
SCM(playerid, -1, "Udjite u neko od ponudjenih vozila i zapocnite polaganje!");
SCM(playerid, -1, "Zapamtite! Ne smijete napustati vozilo tijekom polaganja!");
SCM(playerid, -1, "Isto tako ne smijete ni malo ostetiti vozilo!");
return 1;
}


CHECKPOINT
  • Sada ćemo napraviti checkpointe za polaganje

  • Ja ću napraviti samo par početnih checkpointa, vi nastavite dalje sami


if(Polaganje == 1 && IsPlayerInRangeOfPoint(playerid, 3.0, 1436.3601,-2360.9924,13.3703) && vAutoskola(idv)) //ovdje provjerava dali je igrač započeo polaganje te dali je u checkpontu kojeg smo dobili kada smo kucali /polaganje i naravno dali je u vozilu autoškole
{
Polaganje = 2; //stavlja igraču polaganje na 2
DisablePlayerCheckpoint(playerid); //uklanja igraču prethodni checkpoint
SetPlayerCheckpoint(playerid, 1447.5872,-2360.7622,13.3701, 3.0); //postavlja igraču novi checkpoint
SCM(playerid, -1, "Za pocetak odvozi jedan slalom"); //šalje igraču poruku
return 1;
}
if(Polaganje == 2 && IsPlayerInRangeOfPoint(playerid, 3.0, 1447.5872,-2360.7622,13.3701)  && vAutoskola(idv)) //ovdje provjerava dali je igraču varijbala za polaganje na 2 te dali je igrač u checkpointu iznad i naravno dali je u vozilu autoÅ¡kole
{
Polaganje = 3; //stavlja igraču polaganje na 3
DisablePlayerCheckpoint(playerid); //uklanja igraču prethodni checkpoint
SetPlayerCheckpoint(playerid, 1444.8232,-2353.9529,13.3676,3.0); //postavlja igraču novi checkpoint
return 1;
}
if(Polaganje == 3 && IsPlayerInRangeOfPoint(playerid, 3.0, 1444.8232,-2353.9529,13.3676) && vAutoskola(idv)) //ovdje provjerava dali je igraču varijabla za polaganje na 3 te dali je igrač u checkpointu iznad i naravno dali je u vozilu autoškole
{
Polaganje = 4; //stavlja igraču polaganje na 4
DisablePlayerCheckpoint(playerid); //uklanja igraču prethodni checkpoint
SetPlayerCheckpoint(playerid, 1439.0577,-2345.6758,13.3644,3.0); //postavlja igraču novi checkpoint
return 1;
}

//Sada ćemo napraviti posljednji checkpoint

if(Polaganje == 4 && IsPlayerInRangeOfPoint(playerid, 3.0,1439.0577,-2345.6758,13.3644) && vAutoskola(idv)) //ovdje provjerava dali je igraču varijabla za polaganje na 4 te dali je igrač u checkpointu iznad i naravno dali je u vozilu autoškole
{
new Float:HP;
GetVehicleHealth(GetPlayerVehicleID(playerid), HP); //provjera oštećenja vozila
if(HP < 300.0) //ako vozilo ima ispod 300hp
{
Polaganje = 0; //stavlja igraču polaganje na 0
DisablePlayerCheckpoint(playerid); //uklanja igraču checkpint
SCM(playerid, -1, "Ostetili ste vozilo, pali ste na vozackom ispitu!"); //šalje igraču poruku
SetVehicleToRespawn(GetPlayerVehicleID(playerid)); //respawn vozila s kojim ste polagali
}
else //ako vozilo ima iznad 300hp, znači položio je
{
Polaganje = 0; //stavlja igraču polaganje na 0
PI = 1; // igrač dobiva dozvolu
DisablePlayerCheckpoint(playerid); //uklanja igraču checkpoint
SetVehicleToRespawn(GetPlayerVehicleID(playerid)); //respawn vozila s kojim ste polagali
SCM(playerid, -1, "Uspjesno ste polozili vozacki ispit te dobili vozacku dozvolu!"); //šalje igraču poruku
}
return 1;
}


VOZILA AUTÅ KOLE
  • Sada ćemo napraviti da vozila autoÅ¡kole mogu voziti samo oni koji trenutno polažu


//Ovo dodajte negdje pri vrhu skripte
new AutoSkola; // 2 je broj koliko ima vozila za polaganje

//Ovo dodajte kod ostalih vozila odnosno ispod public OnGameModeInit()
SetVehicleNumberPlate(AutoSkola = AddStaticVehicleEx(436,1428.19995117,-2366.39990234,13.50000000,270.00000000,103,1,1000), "Autoskola"); //Stvara vozilo autoškole i pamti njegov ID u varijabli AutoSkola + postavlja tablice na auto
SetVehicleNumberPlate(AutoSkola = AddStaticVehicleEx(436,1428.19995117,-2363.10009766,13.50000000,270.00000000,103,1,1000), "Autoskola"); //Stvara vozilo autoškole i pamti njegov ID u varijabli AutoSkola + postavlja tablice na auto
  • PronaÄ‘ite public OnPlayerStateChange(playerid, newstate, oldstate) te dodajte ispod

if(newstate == PLAYER_STATE_DRIVER) //mjesto vozača
{
new carid= GetPlayerVehicleID(playerid);
if(vAutoskola(carid) && (Polaganje != 1)) //provjerava dali je ušao u vozilo autškole i da li mu je varijabla za polaganje na 1
{
SCM(playerid, -1, "Ne mozes voziti vozilo od autoskole"); //izbacuje poruku igraču
RemovePlayerFromVehicle(playerid); //izbacuje igrača iz vozila
}

//Sada ćemo staviti da vam izbaci upozorenje ako uđete u vozilo a nemate dozvolu

if(PI == 0)
{
SCM(playerid, -1, "Nemate vozacku dozvolu, pripazite na policiju!");//šalje poruku
}

  • Sada ćemo napraviti stock za vozila autoÅ¡kole

  • Najbolje ga postavite gdje su vam ostali stockovi


stock vAutoskola(carid)
{
for(new iIdx = 0; iIdx < sizeof(AutoSkola); iIdx++)
{
if (AutoSkola == carid) return 1;
}
return 0;
}
  • I za kraj ćemo staviti da ukoliko igrač izaÄ‘e iz vozila tijekom polaganja da automatski padne polaganje

  • PronaÄ‘ite public OnPlayerExitVehicle(playerid, vehicleid) te dodajte ispod


new carid= GetPlayerVehicleID(playerid);
if(Polaganje > 0 && vAutoskola(carid)) //provjerava dali je polaganje započeto te dali je u vozilu autoškole
{
Polaganje = 0; //stavlja igraču polaganje na 0
DisablePlayerCheckpoint(playerid); //uklanja igraču checkpoint
SetVehicleToRespawn(carid); //respawna vozilo
SCM(playerid, -1, "Niste smjeli napustiti vozilo! Pali ste ispit!"); //izbacuje igraču poruku
}


KRAJ
  • Ovo je samo osnovno, vi možete 'unaprijediti' polaganje.

  • Ako ugledate neku greÅ¡ku u tutorialu, javite da ispravim.

  • Ukoliko vam neÅ¡to nije jasno, slobodno pitajte.

ricken
3
Wheel Man
18. Maj 2013.
Pohvale za tutorijal. No imas jednu gresku tj. nisi definirao varijablu Polaganje.
Hitman
5
Crime Lord
18. Maj 2013.
Quote from May 18, 2013, 12:11 pm:
Pohvale za tutorijal. No imas jednu gresku tj. nisi definirao varijablu Polaganje.


Hvala što si me podjestio
Deleted User
Obrisan korisnik
18. Maj 2013.
Dobar tutorijal , pomoći će mnogima.
Hitman
5
Crime Lord
18. Maj 2013.
elemeNtaL wrote on May 18, 2013, 12:41 pm:
Dobar tutorijal , pomoći će mnogima.


Nadam se. Hvala  😉
[BS]Gun
4
Made Man
18. Maj 2013.
Dobar TUT!
Nermin(CH)
5
Underboss
18. Maj 2013.
Nisi napisao gdje da stave te ostale checkpoint-e 😉
SEJFO
5
Godfather
19. Maj 2013.
Dobar tut 🙂
Master1
4
Made Man
19. Maj 2013.
dobro objasnjen tut 😄
Hitman
5
Crime Lord
19. Maj 2013.
|_sLaY_| ^_- wrote on May 18, 2013, 10:53 pm:
Nisi napisao gdje da stave te ostale checkpoint-e 😉


Pa napravio sam 3 checkpointa kao primjer, dalje valjda mogu sami..

Hvala ostali.  🙂
TriX
5
Underboss
19. Maj 2013.
Lepo opsirno
xyzcod2
5
Underboss
19. Maj 2013.
dobar tut,pomoci ce mnogima
btw nisam te dugo vidio na forumu😛
Hitman
5
Crime Lord
19. Maj 2013.
Quote from May 19, 2013, 5:10 pm:
dobar tut,pomoci ce mnogima
btw nisam te dugo vidio na forumu😛


ÄŒesto sam ja na forumu ali rijetko postam pa ti se čini možda 😛

Hvalaa 😉
Jones
2
Wheel Man
21. Maj 2013.
Dobar tut , pomocice ostalima.
KiMu
4
Shot Caller
23. Maj 2013.
samo napred, nije lose 😄

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha