[TuT] Posao

Započeo []Flynâ„¢
11. Avg. 2011. Zaključano
4,189
pregleda
9
postova
Marjan_King
5
Kingpin
11. Avg. 2011.



U ovom Tutorialu cu pokusati da vam sto bolje objasnim kako napraviti jedan jednostavan posao.
Pa da pocnemo...


Za ovo ce vam trebati sledece:
Include ZCMD - http://forum.sa-mp.com/showthread.php?t=91354



1. Korak



-Za prvi korak je dovoljno da napravimo komandu kojom cemo pokrenuti posao.
-Kako cemo to uraditi?
*Bilo gde u modu, samo da nije u neki callback ili stock dodajte ovu komandu:
*Objasnjenje je pored svakog reda "//"

CMD:kosi(playerid,params[])
{
new vozilo = GetPlayerVehicleID(playerid);//Definiramo "vozilo" koje cemo koristiti dole u komandi.
if(PlayerInfo == IDPOSLA)//ovo posao stavite kako je vama.
{
if(!KosacTrave(vozilo)) return SCM(playerid,COLOR_GRAD4,": Moras biti u kosilici.");//Zahteva od igraca da bude u vozilu, ne mozete krenuti sa poslom ukoliko ste na nogama
if(GetPVarInt(playerid,"Kosi") == 1) return SCM(playerid,COLOR_GRAD4,": Vec kosis travu.");//Ukoliko vec kosite travu, necete moci opet pokrenuti.Ovo vam nece dozvoliti
SetPVarInt(playerid,"Kosi",1);//Postavlja kosenje trave na "1" to znaci da ste poceli da kosite
SetPVarInt(playerid,"CP",3);
SetPlayerCheckpoint(playerid,X,Y,Z,R);//Postavlja CheckPoint na odredjene kordiante
PlayerPlaySound(playerid, 1058, 0, 0, 0);//Zvuk kad prodjete kroz CP
}
else SCM(playerid,COLOR_GRAD4,"Nemas posao.");
return 1;
}

2. Korak



Kada smo kreirali komandu i postavili CheckPoint, sada cemo nastaviti checkpointe i zavrsiti posao.
Kako cemo to uraditi?
- CTRL+F i ukucajte "public OnPlayerEnterCheckPoint"
- Ispod toga dodajte sledece:


if(GetPVarInt(playerid,"Kosi") == 1)//Postavlja kosenje na "1" to znaci da je kosenje zapoceto(da je u toku)
   {
if(GetPVarInt(playerid,"CP") == 3)//ID CheckPointa, ova ID smo takodje stavili u komandi kako bi se prebacio na drugi CP i ID
{
       DisablePlayerCheckpoint(playerid);//Unistava CheckPoint ID 3, kako bi se pojavio ID 4
 SetPVarInt(playerid,"CP",4); //Prebacujemo CP na ID 4
 SetPlayerCheckpoint(playerid,X,Y,Z,R);//Postavljamo CP ID 4
 GivePlayerMoney(playerid,5); //Dajemo novac prolaskom kroz CP
 GameTextForPlayer(playerid, "~g~+ ~r~5$", 1000, 1); //Ispisujemo Text na ekranu da je dobio toliko i toliko novca(u ovom slucaju 5$)
 PlayerPlaySound(playerid, 1138, 0, 0, 0);//Pustamo zvuk.
}
else if(GetPVarInt(playerid,"CP") == 4)
{
       DisablePlayerCheckpoint(playerid);
 SetPVarInt(playerid,"CP",5);
 GivePlayerMoney(playerid,10);
 GameTextForPlayer(playerid, "~g~+ ~r~10$", 1000, 1);
 SetPlayerCheckpoint(playerid,X,Y,Z,R);
 PlayerPlaySound(playerid, 1138, 0, 0, 0);
}
else if(GetPVarInt(playerid,"CP") == 5)
{
       DisablePlayerCheckpoint(playerid);
 SetPVarInt(playerid,"CP",6);
 GivePlayerMoney(playerid,7);
 GameTextForPlayer(playerid, "~g~+ ~r~7$", 1000, 1);
 SetPlayerCheckpoint(playerid,X,Y,Z,R);
 PlayerPlaySound(playerid, 1138, 0, 0, 0);
}
else if(GetPVarInt(playerid,"CP") == 6)  // ZADNJI
{
       DisablePlayerCheckpoint(playerid);//Unistava zadnji CheckPoint
       SetPVarInt(playerid,"Kosi",0);//Stavlja kosenje na "0" to znaci da vise ne kosis.(To mozete koristiti ukoliko ocete da napravite timer za kosenje)
 RemovePlayerFromVehicle(playerid);//Izbacuje igraca iz vozila
 SCM(playerid,COLOR_Text,"Zavrsio si rutu i zaradio nesto novca.");//Ispisuje igracu poruku da je zavrsio rutu.
 PlayerPlaySound(playerid, 1138, 0, 0, 0);
 SetPVarInt(playerid,"CP",0);//Unistava ID CheckPointa, kako bi ga ponovo mogli kreirati sa komandom.
}
return 1;
   }



Takodje mozemo dodati i komandu za prekid posla, ukoliko igrac mora da izadje sa Servera a nije zavrsio posao, napravicemo da moze da ga prekine.

COMMAND:prekini(playerid,params[])
{
if(GetPVarInt(playerid,"Kosi") == 1)//Proverava da li je kosenje pokrenuto tj. da li igrac kosi
{
SetPVarInt(playerid,"Kosi",0);//Stavlja kosenje na 0, tj gasi kosenje
CP = 999;//Postavlja CPove na "999" tj unistava sve CPove
GameTextForPlayer(playerid,"~r~Zavrsio si sa kosenjem~n~~g~prekinuo si",5000,4);//Ispisuje Text igracu da je zavrsio sa kosenjem
DisablePlayerCheckpoint(playerid); // Unistava CheckPoint koji mu je zadnji ostao
RemovePlayerFromVehicle(playerid);//Izbacuje igraca iz vozila.
}
return 1;
}



E sad tu vi mozete da dodajete jos mnogo toga i da experimentisete, ovo vam je kao neki kostur posla.



Tutorial by Pacijent_
kizla
3
Hustler
11. Avg. 2011.
Ljepo 🙂 Korisno je i ljepo sto je za sve modove 🙂
aleluja
5
Godfather
11. Avg. 2011.
Hmm,di se igrač zaposli ovde? Nisi to napravio. 😉
Deleted User
Obrisan korisnik
11. Avg. 2011.
Nisi definisao SCM
#define SCM SendClientMessage
I ovo nije za sva vozila
if(!KosacTrave(vozilo))
I to nisi objasnio sta to znaci i sta tu da stave.
Inace dobar je tutorial.
Mario_Capica
4
Enforcer
11. Avg. 2011.
Dobar tutorijal.
kocho
5
Underboss
11. Avg. 2011.
Posto sam Low skripter i neznam skoro nista...ja nemam include ZCMD...kako ja da radim?
Koristim Edit GF moda
Deleted User
Obrisan korisnik
11. Avg. 2011.
Quote from August 11, 2011, 1:03 pm:
Posto sam Low skripter i neznam skoro nista...ja nemam include ZCMD...kako ja da radim?
Koristim Edit GF moda

http://forum.sa-mp.com/showthread.php?t=91354
Skines include zcmd tako ti je najbolje.
I dodas gore kod ostalih include
#include
kocho
5
Underboss
11. Avg. 2011.
rijesio
JONY
4
Enforcer
3. Sep. 2011.
mpzete mi pomoc hocu da uradim fs pomocu ovog tuta ali kako u nastimat u fs da se igrac zaposli kako kosac trave

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha