Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: Hitman poslato April 21, 2014, 18:25:54 POSLE PODNE

Naslov: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Hitman poslato April 21, 2014, 18:25:54 POSLE PODNE
UVOD




POÄŒETAK
new Trava[5][MAX_PLAYERS];//objekti trave...broj 5 = broj objekata koje smo dodali
new KosacPosao[MAX_PLAYERS];//treba nam za provjeru dali je igrač već počeo kositi travu
new TravaTimer[MAX_PLAYERS];//trebat će nam za uništavanje timera
new Kosilica[3];//ukupan broj kosilica koje smo dodali

KosacPosao[playerid] = 0;//stavlja igraču varijablu za kosenje na 0




VOZILA

Kosilica[0] = AddStaticVehicleEx(572,1956.7000000,-1163.5000000,20.3000000,90.0000000,128,128, 1000);//stvara kosilicu i pamti njegov id u varijabli Kosilica[0]
Kosilica[1] = AddStaticVehicleEx(572,1956.7000000,-1166.3000000,20.3000000,90.0000000,128,128, 1000);//stvara kosilicu i pamti njegov id u varijabli Kosilica[1]
Kosilica[2] = AddStaticVehicleEx(572,1956.7000000,-1169.0000000,20.3000000,90.0000000,128,128, 1000);//stvara kosilicu i pamti njegov id u varijabli Kosilica[2]


stock VoziloKosaca(carid)
{
for(new i = 0; i < sizeof(Kosilica); i++)
{
if(carid == Kosilica[i]) return 1;
}
return 0;
}


if(newstate == PLAYER_STATE_DRIVER)//provjera dali je na mjestu vozaca
{
if(VoziloKosaca(GetPlayerVehicleID(playerid)) && PlayerInfo[playerid][pPosao] != 1)//provjera dali je igrač u kosilici i dali je zaposlen kao kosač trave
{
SendClientMessage(playerid, -1, "GRESKA: Niste zaposleni kao kosac trave!");//šalje igraču poruku
RemovePlayerFromVehicle(playerid);//izbacuje igrača iz vozila
}
}





KOMANDA /posao

CMD:posao(playerid, params[])
{
if(PlayerInfo[playerid][pPosao] != 0) return SendClientMessage(playerid, -1, "GRESKA: Vec imate posao!");//izbacuje poruku igraču ukoliko je već zaposlen
if(IsPlayerInRangeOfPoint(playerid, 2, 1958.6124,-1150.7917,21.3419))//provjera dali je na mjestu zapošljavanja za kosača trave
{
if(PlayerInfo[playerid][pLevel] < 2) return SendClientMessage(playerid, -1, "GRESKA: Moras biti level 2!");//ukoliko igrač nije lvl 2+ neće se moći zaposlit
SendClientMessage(playerid, -1, "INFO: Uspjesno si se zaposlio kao kosac trave.");//šalje igraču poruku da se zaposlio
PlayerInfo[playerid][pPosao] = 1;//postavlja igraču varijablu za posao na 1 (inače 1 je id posla,vi sebi stavite kako želite)
}
return 1;
}





KOMANDA /otkaz

CMD:otkaz(playerid, params[])
{
if(PlayerInfo[playerid][pPosao] == 0) return SendClientMessage(playerid, "GRESKA: Niste zaposleni!");//ukoliko igrač nije zaposlen izbacuje mu poruku
SendClientMessage(playerid, -1, "INFO: Uspjesno ste dali otkaz");//šalje igraču poruku da je dao otkaz
PlayerInfo[playerid][pPosao] = 0; //postavlja igraču varijablu za posao na 0 (znaci da nema posao)
return 1;
}





KOMANDA /kosenje

CMD:kosenje(playerid, params[])
{
if(PlayerInfo[playerid][pPosao] != 1) return SendClientMessage(playerid, -1, "GRESKA: Niste zaposleni kao kosac trave!");//ukoliko igrač nije kosač trave izbacuje mu poruku
if(!VoziloKosaca(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid, -1, "GRESKA: Morate biti u kosilici!");//ukoliko igrač nije u kosilici izbacuje mu poruku
if(KosacPosao[playerid] == 1) return SendClientMessage(playerid, -1, "GRESKA: Vec ste zapoceli kosenje trave!");//ukoliko je igrač već započeo košenje, izbacuje mu poruku
TravaTimer[playerid] = SetTimerEx("TimerTrava", 500, true, "i", playerid);//kreiramo timer od 500 milisekundi koji će provjeravati dali smo blizu objekta trave
SendClientMessage(playerid, -1, "Pokosi travu i zaradi novac.");//šalje igracu poruku
KosacPosao[playerid] = 1;//stavlja igraču varijablu za košenje na 1, znači da je započeo kosenje
Trava[0][playerid] = CreatePlayerObject(playerid,864,1952.6000000,-1157.2000000,20.2000000,0.00000000,0.00000000,0.00000000);//kreiramo objekt za igrača
Trava[1][playerid] = CreatePlayerObject(playerid,864,1945.2000000,-1157.8000000,20.5000000,0.00000000,0.00000000,0.00000000);//kreiramo objekt za igrača
Trava[2][playerid] = CreatePlayerObject(playerid,864,1938.0000000,-1158.2000000,20.8000000,0.00000000,0.00000000,0.00000000);//kreiramo objekt za igrača
Trava[3][playerid] = CreatePlayerObject(playerid,864,1929.1000000,-1159.1000000,21.2000000,0.00000000,0.00000000,0.00000000);//kreiramo objekt za igrača
Trava[4][playerid] = CreatePlayerObject(playerid,864,1921.3000000,-1160.4000000,21.7000000,0.00000000,0.00000000,0.00000000);//kreiramo objekt za igrača
return 1;
}





TIMER

forward TimerTrava(playerid);
public TimerTrava(playerid)
{
new Float:Pos[3];//x,y,z pozicije objekata trave
new pokoseno = 0;//broj pokošene trave
for(new i = 0; i < sizeof(Trava); i++)//prolazi kroz sve objekte trave koje smo kreirali
{
GetPlayerObjectPos(playerid, Trava[i][playerid], Pos[0], Pos[1], Pos[2]);//uzima x,y,z pozicije objekata trave
if(IsPlayerInRangeOfPoint(playerid, 3.0, Pos[0], Pos[1], Pos[2]) && VoziloKosaca(GetPlayerVehicleID(playerid)))//provjera dali je igrač u blizini objekta trave i dali je u kosilici
{
DestroyPlayerObject(playerid, Trava[i][playerid]);//unistava objekt trave kroz koji smo prosli
Trava[i][playerid] = 999;//stavlja varijablu za objekat na 999
}
if(Trava[i][playerid] == 999)//provjera dali je objekt trave na 999...
{
pokoseno++;//...ako je na 999, povecava broj pokosene trave za 1
}
}
if(pokoseno == 5)//broj pokošene trave nakon koje ce igrač dobiti novac (ako je pokosio 5 objekata, završava posao)
{
SendClientMessage(playerid, -1, "Zavrsili ste kosenje trave i zaradili 150$!");//šalje igraču poruku
KosacPosao[playerid] = 0;//stavlja igraču varijablu za kosaca na 0
KillTimer(TravaTimer[playerid]);//uništava timer
GivePlayerMoney(playerid, 150);//daje igraču 150$
}
}





Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: [EM] King poslato April 22, 2014, 01:29:28 PRE PODNE
Fino si uradio opis i skripta je fino objašnjena zato evo ti 10/10 :D

Svaka čast ! :)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Hitman poslato April 22, 2014, 01:41:07 PRE PODNE
Citat: [EM] King poslato April 22, 2014, 01:29:28 PRE PODNE
Fino si uradio opis i skripta je fino objašnjena zato evo ti 10/10 :D

Svaka čast ! :)


hvala  :D
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: |TED| Boca SRB poslato April 22, 2014, 04:21:35 PRE PODNE
Citat: [EM] King poslato April 22, 2014, 01:29:28 PRE PODNE
Fino si uradio opis i skripta je fino objašnjena zato evo ti 10/10 :D

Svaka čast ! :)

Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: xyzcod2 poslato April 22, 2014, 07:09:27 PRE PODNE
Citat: [EM] King poslato April 22, 2014, 01:29:28 PRE PODNE
Fino si uradio opis i skripta je fino objašnjena zato evo ti 10/10 :D

Svaka čast ! :)

Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: BalkaNation poslato April 22, 2014, 13:28:58 POSLE PODNE
Stavljanje variable za objekat na 999 i nije bas najbolje jer ako je limit objekata na sampu 1000 moze biti da ti se unisti neki objekat sa strane koji ima id 999...

Mozda i sasvim nebitno ali bolje stavi INVALID_OBJECT_ID  ili (-1)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Denim SA:MP poslato April 22, 2014, 13:36:20 POSLE PODNE
Ovo je više guide tipa copy/paste nego tut jer si samo kodove dao i rekao gdje šta ide a nisi objasnio kako to uopšte funckioniše/šta koji kod radi...

Pohvale za trud :)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: youngdeal poslato April 22, 2014, 13:44:27 POSLE PODNE
Citat: Denim poslato April 22, 2014, 13:36:20 POSLE PODNE
Ovo je više guide tipa copy/paste nego tut jer si samo kodove dao i rekao gdje šta ide a nisi objasnio kako to uopšte funckioniše/šta koji kod radi...

Pohvale za trud :)
Naprotiv sve sto je napisao veoma je dobro shvatljivo i smartam da ko je i otvorio pawno zna kako funkcionise ovaj kod...
Hitman cestitke veoma dobro...
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Neznamkosam poslato April 22, 2014, 14:57:50 POSLE PODNE
10/10
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Peroxide poslato April 22, 2014, 15:01:55 POSLE PODNE
Svaka cast moze posluziti novim skripterima da su bar bili ovako jasni tutovi kada sam ja "skriptao" xD sve pohvale
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Neowix poslato April 22, 2014, 18:31:59 POSLE PODNE
Pohvale, dobar tut :)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Hitman poslato April 22, 2014, 21:24:51 POSLE PODNE
Citat: Denim poslato April 22, 2014, 13:36:20 POSLE PODNE
Ovo je više guide tipa copy/paste nego tut jer si samo kodove dao i rekao gdje šta ide a nisi objasnio kako to uopšte funckioniše/šta koji kod radi...

Pohvale za trud :)

Zašto ne pregledaš opet ?
hvala svima haha  :)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: matosek123 poslato April 25, 2014, 16:02:15 POSLE PODNE
Lock, citaj pravila. Pise da se ne rade vise nikakvi poslovi!
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Blaeks poslato April 25, 2014, 18:44:40 POSLE PODNE
Citat: matosek123 poslato April 25, 2014, 16:02:15 POSLE PODNE
Lock, citaj pravila. Pise da se ne rade vise nikakvi poslovi!
Doslo je do izmene pravila
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Farkias poslato April 25, 2014, 19:20:18 POSLE PODNE
Jako dobro objašnjeno, dobar tut.
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Hitman poslato April 27, 2014, 16:33:34 POSLE PODNE
Citat: Farkias poslato April 25, 2014, 19:20:18 POSLE PODNE
Jako dobro objašnjeno, dobar tut.

potrudio sam se ahah, hvala:P
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Streetboy poslato April 29, 2014, 11:29:06 PRE PODNE
Sve je to lijepo sto si se ti potrudio,ali ja koliko vidim ovo si samo vidio Gagijev post u 'Razgovor u vezi PAWN-skriptanja' i prekopirao i usput nesto malo objasnio.Svakako pohvale ali se trebaju vratiti creditsi gagiju ;)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Hitman poslato April 29, 2014, 21:39:32 POSLE PODNE
Citat: Streetboy poslato April 29, 2014, 11:29:06 PRE PODNE
Sve je to lijepo sto si se ti potrudio,ali ja koliko vidim ovo si samo vidio Gagijev post u 'Razgovor u vezi PAWN-skriptanja' i prekopirao i usput nesto malo objasnio.Svakako pohvale ali se trebaju vratiti creditsi gagiju ;)

nisam ja vidio taj post  :)
Naslov: Odg: [TuT] Posao kosač trave / Sa objektima trave
Poruka od: Antisa02 poslato Jun 23, 2014, 20:34:33 POSLE PODNE
Hvala ti