I pozdrav svima, danas cu vam pokazati kako da uradite jednostavan sistem kurvi, pa krenimo....
Prvo sto treba da uradimo jeste da napravimo varijablu preko koje provjeravamo da li je igrac stigao do neke odredjene pozicije koju mu aktor da, ako je stigao ugasi mu marker, a ako nije logicno da mu marker ostaje na mapi
[pawn]
new kurvagps[MAX_PLAYERS]; //kreiramo varijablu
[/pawn]
Drugo sta treba da uradimo jeste da kreiramo aktore i labele
[pawn]
CreateActor(12, 986.5523,-1385.7662,13.6088,213.0352); //kreiramo prvog aktora
Create3DTextLabel("/kurva", -1, 986.5523,-1385.7662,13.6088, 5.0, 0, 0); //kreiramo label za tog prvog aktora
CreateActor(12, 1365.7979,-1249.9248,13.5469,81.0680); //kreiramo drugog aktora
Create3DTextLabel("/kurva", -1, 1365.7979,-1249.9248,13.5469, 5.0, 0, 0); //kreiramo label za tog drugog aktora
[/pawn]
Trece sta treba da uradimo jeste da napravimo dialog
[pawn]
if(dialogid == dialog_KURVA) //kreiramo dialog u ondialogresponse
{
if(!response)
{
kurvagps[playerid] = 0; //seta mu varijablu na 0,znaci da je igrac odustao od odabira i kliknuo dugme odustani
SendClientMessage(playerid, -1, "Odustali ste od koriscenja kurve");//poruka za igraca
}
if(response)
{
switch(listitem)
{
case 0:
{
kurvagps[playerid] = 1; //seta mu varijablu na 1, znaci treba da prati checkpoint na mapi
SetPlayerCheckpoint(playerid, 2768.5776,-2444.7039,13.6432, 3.0); //postavljamo igracu koordinate od checkpointa koje treba da prati
SendClientMessage(playerid, -1, "Dala sam ti lokaciju hangara i to te kosta 1000$"); //postavljamo poruku igracu
GivePlayerMoney(playerid, -1000);//oduzimamo novac igracu
}
case 1:
{
kurvagps[playerid] = 1; //seta mu varijablu na 1, znaci treba da prati checkpoint na mapi
SetPlayerCheckpoint(playerid, 1938.8022,-1989.5878,13.5469, 3.0);//postavljamo igracu koordinate od checkpointa koje treba da prati
SendClientMessage(playerid, -1, "Dala sam ti lokaciju kupovine semena droge i to te kosta 800$");//postavljamo poruku igracu
GivePlayerMoney(playerid, -800); //oduzimamo igracu novac
}
case 2:
{
kurvagps[playerid] = 1; //seta mu varijablu na 1, znaci treba da prati checkpoint na mapi
SetPlayerCheckpoint(playerid, -1420.7401,-963.8834,200.7470, 3.0); //postavljamo igracu koordinate od checkpointa koje treba da prati
SendClientMessage(playerid, -1, "Dala sam ti lokaciju prerade droge i to te kosta 600$"); //postavljamo poruku igracu
GivePlayerMoney(playerid, -600); //oduzimamo novac igracu
}
case 3:
{
kurvagps[playerid] = 1; //seta mu varijablu na 1, znaci treba da prati checkpoint na mapi
SetPlayerCheckpoint(playerid, 1720.3531,-1507.8191,13.4851, 3.0); //postavljamo igracu koordinate od checkpointa koje treba da prati
SendClientMessage(playerid, -1, "Dala sam ti lokaciju crnog trzista i to te kosta 700$"); //postavljamo poruku igracu
GivePlayerMoney(playerid, -700); //oduzimamo novac igracu
}
case 4:
{
//in next update
SendClientMessage(playerid, -1, "Ovo trenutno nije dostupno, bit ce zavrseno u iducem update-u"); //postavljamo poruku igracu
}
}
}
}
[/pawn]
Četvrto što treba jeste da pod onplayerentercheckpoint stavimo sljedece
[pawn]
if(kurvagps[playerid] == 1)
{
DisablePlayerCheckpoint(playerid); //ugasen chekpoint
return 1;
}
[/pawn]
Posljednja stvar koju treba da uradimo jeste sama komanda
[pawn]
CMD:kurva(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, 986.5523,-1385.7662,13.6088) || IsPlayerInRangeOfPoint(playerid, 2.0, 1365.7979,-1249.9248,13.5469)) //provjerava da li je igrac kod aktora
{
ShowPlayerDialog(playerid, dialog_KURVA, DIALOG_STYLE_LIST, "Kurva System", "Lokacija hangara\nLokacija kupovine semena droge\nLokacija prerade droge\nLokacija crnog trzista\nPusenje", "Odaberi", "Odustani"); //kreiramo dialog
kurvagps[playerid] = 1; //postavlja varijablu na 1
}
else SendErrorMessage(playerid, "{DABB3E}Nisi u blizini kurve"); //izbacuje poruku ako igrac nije kod aktora
return 1;
}
[/pawn]
I to je to od ovog tutorijala
[pawn]Kurvagps[playerid] = SetPlayerCheckpoint(playerid, 1720.3531,-1507.8191,13.4851, 3.0);[/pawn]
[pawn]if(Kurvagps[playerid] == 1) return DisablePlayerCheckpoint(playerid), Kurvagps[playerid] = 0, GameTextForPlayer(playerid, "~y~stigli ste na odrediste", 5000, 3);
[/pawn]
nemoj uciti druge, prvo nauci sebe
Nemoj pls
Brate ovo je grozota
Koristi switch i za dialoge, ovako nemam neke velike zamerke...
Strasno ovo je tako lose uz danasnje mogucnosti.. Easy dialog????????????
Dalje resetiranje aktora nemas uopce ???
di ti je deklarisan dialog
Citatdialog_KURVA
Neznam sa kojem moda ali ovo je cisti copy paste ...
sve u svemu lose veoma
:-[
ovo mi lici na AC mod ako mi se cini sve u svemuna dc si rekao kako 1 god "Skriptas" i ovo objavljujes sramota
Cekaj zar ne bi bilo lakse da si odradio neki save load, komandu za kreiranje i sl. Simple as that
Svi uvredljivi komentari ce biti obrisani