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[playerid][posao] == IDPOSLA)//ovo posao stavite kako je vama.
{
if(!KosacTrave(vozilo)) return SCM(playerid,COLOR_GRAD4,"[Greska]: 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,"[ERROR]: 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[playerid] = 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_
Ljepo :) Korisno je i ljepo sto je za sve modove :)
Hmm,di se igraÄ zaposli ovde? Nisi to napravio. ;)
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.
Dobar tutorijal.
Posto sam Low skripter i neznam skoro nista...ja nemam include ZCMD...kako ja da radim?
Koristim Edit GF moda
Citat: [BM]Poslednji Don poslato Avgust 11, 2011, 15:03:42 POSLE PODNE
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 <zcmd>
rijesio
mpzete mi pomoc hocu da uradim fs pomocu ovog tuta ali kako u nastimat u fs da se igrac zaposli kako kosac trave