U ovom tutu cu vam pokazati kako napraviti posao ribara
Pa pocnimo
Na pocetku gdje su vam defin-si dodajte
#define ID_ZA_PECANJE 3000Ovaj broj 3000 oznacava id dialoga vi podesavajte kako vi hocete
Sada pod OnDialogResponse dodajte sljedece
case ID_ZA_PECANJE:
{
if(response)
{
switch(listitem)
{
case 0:
{
SendClientMessage(playerid,-1,"Kupili ste stap za pecanje.");//salje igracu poruku
SetPVarInt(playerid,"Stap",GetPVarInt(playerid,"Stap")+1);//stavlja igracu da ima stap
GivePlayerMoney(playerid,-15);//oduzima igracu 15$
}
case 1:
{
SendClientMessage(playerid,-1,"Kupili ste mamac za pecanje.");//salje poruku igracu
SetPVarInt(playerid,"Mamac",GetPVarInt(playerid,"Mamac")+1);//stavlja igracu da ima mamac
GivePlayerMoney(playerid,-15);//oduzima igracu 15$
}
}
}
else SendClientMessage(playerid,-1,"Odustali ste!");
}Sada pod OnPlayerSpawn dodajte SetPVarInt(playerid,"Stap",0); SetPVarInt(playerid,"Mamac",0);
To stavlja igracu Stap i mamac na 0 kada se tek spawna
Sada tamo gdje su vam komande dodajte sljedece komande
YCMD:priborzapecanje(playerid, params[], help)
{
#pragma unused params
#pragma unused help
if(!IsPlayerInRangeOfPoint(playerid, 2.0, X,Y,Z))//provijerava dali je igrac na mjestu za kupovanje pribora,stavite vase kordinate return SendClientMessage(playerid,-1,""zuta"(posao) "crvena" Niste na mjestu za kupovanje opreme za pecanje!");//ako nije salje mu poruku
ShowPlayerDialog(playerid,ID_ZA_PECANJE,DIALOG_STYLE_LIST,"Sta zelite kupiti?",""zuta"Stap [15$]\n"plava"Mamac[10$]\n","Kupi","Odustani");//pokazuje dialog igracu
return true;
}Uredu napravili smo komandu za kupovanje pribora sad smo proo xD
Ispod toga dodajte
YCMD:pecanje(playerid, params[], help)
{
#pragma unused params
#pragma unused help
if(GetPVarInt(playerid,"CP") == 1000) return SendClientMessage(playerid,-1,""zuta"(posao) "crvena" Vec pecate!");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, X,Y,Z))//provijerava dali je igrac na mjestu za pecanje,stavite svoje kordinate return SendClientMessage(playerid,-1,""zuta"(posao) "crvena" Niste na mjestu za pecanje!");//ako nije salje mu poruku
if(GetPVarInt(playerid,"Mamac") < 1)//provjerava dali ima mamac. return SendClientMessage(playerid,-1,""zuta"(posao) "crvena" Nemate mamac.");//ako nema salje igracu poruku
if(GetPVarInt(playerid,"Stap") < 1)//provijerava dali ima step return SendClientMessage(playerid,-1,""zuta"(posao) "crvena" Nemate stap.");//ako nema salje mu poruku
SetPVarInt(playerid,"CP",1000);
TimerPecanja = SetTimerEx("TPecanje",1000,true,"i",playerid);//postavlja timer pecanje dole ce mo ga i napraviti do kraja
SendClientMessage(playerid,-1,""zuta"(posao)"zelena"Poceli ste sa pecanjem!");//salje igracu poruk
return true;
}Sad smo i to napravili jos malo smo pa ko djuro xD
Ispod toga dodajte sljedece
YCMD:prodajribu(playerid, params[], help)
{
#pragma unused params
#pragma unused help
new str,zarada;
zarada = GetPVarInt(playerid,"RibaKG")*20;//koliko je ribe upeco kada proda dobit ce 20 puta vise novca
if(!IsPlayerInRangeOfPoint(playerid, 2.0,X,Y,Z))//provijerava dali je igrac na mjestu za prodavanje ribe,stavite kordinate return SendClientMessage(playerid,-1,""zuta"(posao) "crvena" Niste na mjestu prodaje ribe!");//ako nije salje mu poruku
format(str,sizeof(str),"Prodali ste %d kg ribe za %d $",GetPVarInt(playerid,"RibaKG"),zarada);//provjerava koliko ribe ima i prodaje ribu!
SendClientMessage(playerid,-1,str);//salje mu poruku
GivePlayerMoney(playerid,zarada);//daje mu pare
SetPVarInt(playerid,"RibaKG",0);//postavlja kg riba na 0
return true;
}Bravoo!!!!jos malo pa sace 😛
Eh sada ispod komandi dodajte ovo
forward TPecanje();
public TPecanje()
{
foreach(Player,i)
{
if(GetPVarInt(i,"TPecanje1") == 60)
{
if(GetPVarInt(i,"CP") == 1000)
{
SetPVarInt(i,"CP",-1);
DisablePlayerCheckpoint(i);
switch(random(4))
{
case 0:
{
SendClientMessage(i,-1,"Upecali ste soma teskog 3 kg");
SetPVarInt(i,"RibaKG",GetPVarInt(i,"RibaKG")+3);//ako je upeco "soma" dodaje mu 3 kg ribe :P
SetPVarInt(i,"Mamac",GetPVarInt(i,"Mamac")-1);//oduzima mu mamac
SetPVarInt(i,"Stap",GetPVarInt(i,"Stap")-1);//oduzima mu stap :)
SetPVarInt(i,"TPecanje1",-1);
KillTimer(TimerPecanja);
}
case 1:
{
SendClientMessage(i,-1,"Upecali ste sarana teskog 2 kg");
SetPVarInt(i,"RibaKG",GetPVarInt(i,"RibaKG")+2);
SetPVarInt(i,"Mamac",GetPVarInt(i,"Mamac")-1);
SetPVarInt(i,"Stap",GetPVarInt(i,"Stap")-1);
SetPVarInt(i,"TPecanje1",-1);
KillTimer(TimerPecanja);
}
case 2:
{
SendClientMessage(i,-1,"Niste nista upecali");
SetPVarInt(i,"RibaKG",GetPVarInt(i,"RibaKG")+0);
SetPVarInt(i,"Mamac",GetPVarInt(i,"Mamac")-1);
SetPVarInt(i,"Stap",GetPVarInt(i,"Stap")-1);
SetPVarInt(i,"TPecanje1",-1);
KillTimer(TimerPecanja);
}
case 3:
{
SendClientMessage(i,-1,"Upecali ste crvempera 1 kg");
SetPVarInt(i,"RibaKG",GetPVarInt(i,"RibaKG")+1);
SetPVarInt(i,"Mamac",GetPVarInt(i,"Mamac")-1);
SetPVarInt(i,"Stap",GetPVarInt(i,"Stap")-1);
SetPVarInt(i,"TPecanje1",-1);
KillTimer(TimerPecanja);
}
case 4:
{
SendClientMessage(i,-1,"Upecali ste cizmu!");
SetPVarInt(i,"RibaKG",GetPVarInt(i,"RibaKG")+0);
SetPVarInt(i,"Mamac",GetPVarInt(i,"Mamac")-1);
SetPVarInt(i,"Stap",GetPVarInt(i,"Stap")-1);
SetPVarInt(i,"TPecanje1",-1);
KillTimer(TimerPecanja);
}
case 5:
{
SendClientMessage(i,-1,"Niste nista upecali.");
SetPVarInt(i,"RibaKG",GetPVarInt(i,"RibaKG")+0);
SetPVarInt(i,"Mamac",GetPVarInt(i,"Mamac")-1);
SetPVarInt(i,"Stap",GetPVarInt(i,"Stap")-1);
SetPVarInt(i,"TPecanje1",-1);
KillTimer(TimerPecanja);
}
}
}
}
SetPVarInt(i,"TPecanje1",GetPVarInt(i,"TPecanje1")+1);
}
}To bih bilo to ako sam sta izostavio ili imate errore warninge ptajte u komentar pa ce mo editovati 😛