Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: realivchaa poslato Jul 24, 2022, 21:16:03 POSLE PODNE

Naslov: Jednostavan system kurvi
Poruka od: realivchaa poslato Jul 24, 2022, 21:16:03 POSLE PODNE
                              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
Naslov: Odg: Jednostavan system kurvi
Poruka od: Fergosonn poslato Jul 24, 2022, 22:37:16 POSLE PODNE
[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]
Naslov: Odg: Jednostavan system kurvi
Poruka od: choppa100 poslato Jul 24, 2022, 23:27:04 POSLE PODNE
nemoj uciti druge, prvo nauci sebe
Naslov: Odg: Jednostavan system kurvi
Poruka od: noddy_ poslato Jul 24, 2022, 23:37:06 POSLE PODNE
Nemoj pls
Naslov: Odg: Jednostavan system kurvi
Poruka od: nemy poslato Jul 25, 2022, 14:27:31 POSLE PODNE
Brate ovo je grozota
Naslov: Odg: Jednostavan system kurvi
Poruka od: Fr0z3n poslato Jul 25, 2022, 16:09:54 POSLE PODNE
Koristi switch i za dialoge, ovako nemam neke velike zamerke...
Naslov: Odg: Jednostavan system kurvi
Poruka od: yeet poslato Jul 25, 2022, 17:01:02 POSLE PODNE
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
Naslov: Odg: Jednostavan system kurvi
Poruka od: 38djeno poslato Jul 25, 2022, 17:03:59 POSLE PODNE
 :-[
Naslov: Odg: Jednostavan system kurvi
Poruka od: .paradoxdetth poslato Jul 25, 2022, 17:11:36 POSLE PODNE
ovo mi lici na AC mod ako mi se cini sve u svemuna dc si rekao kako 1 god "Skriptas" i ovo objavljujes sramota
Naslov: Odg: Jednostavan system kurvi
Poruka od: noddy_ poslato Jul 25, 2022, 19:47:55 POSLE PODNE
Cekaj zar ne bi bilo lakse da si odradio neki save load, komandu za kreiranje i sl. Simple as that
Naslov: Odg: Jednostavan system kurvi
Poruka od: .paradoxdetth poslato Jul 25, 2022, 21:03:40 POSLE PODNE
Svi uvredljivi komentari ce biti obrisani