In acest tutorial va voi invata la ce pot fi folosite checkpoint-urile si cum sa le folosesti! [pawn] #include <a_samp> <-- Acest include ne ofera functiile de baza. [/pawn] 1.Ce este un include Un include , este o librarie de functii, valori, variabile care intr-un mod sau altul fac mai usor de acesat scripturile
Orice librarie trebuie chemata inainte de functiile acesteia,definirile,variabiile acesteia astfel veti obtine un mare si frumos:
Error:Unknown simbol
1.1 Cum adaugi un include?
Puteti descarca diferite include-uri de aici: http://forum.sa-mp.com
/forumdisplay.php?f=83
Include-ul se adauga in folderul Pawno --> include in format Nume.INC (INC = INCLUDE *prescurtare*) apoi adaugam la inceputul gamemodeului #include <nume> *fara .inc* 2.Pentru inceput sa creem o multime [pawn]new CheckpointID[MAX_PLAYERS];[/pawn] [glow=red,2,300]Explicare[/glow]: [glow=red,2,300]new[/glow] - asa trebuie sa inceapa creearea oricarei multimi [glow=red,2,300]checkpointid[/glow] = numele multimii [glow=red,2,300][MAX_PLAYERS][/glow] = pentru a putea fi folosita pe jucatori. [glow=red,2,300];[/glow] - se pune la sfarsit daca nu puneti ne va da eroare. 2.1 Cum creem un checkpoint si cum putem sa folosim checkpoint-urile include? Exemplu[1]-Cum putem seta pe mapa un checkpoint i-ar cand ajunge jucatorul la checkpoint sa se stearga checkpointul de pe mapa (pentru el) [pawn] public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmd, "/numecomanda", true) == 0) { SetPlayerCheckpoint(playerid, X,Y,Z, 1.0); CheckpointID[playerid] = 0; return 1; } return 1; }[/pawn] [glow=red,2,300]Explicare[/glow]: [glow=red,2,300]SetPlayerCheckpoint[/glow] - se numeste functia care seteaza checkpoint-ul [glow=red,2,300]X,Y,Z[/glow] = coordonatele ca sa intelegeti: Exemplu intru pe sa-mp dau /save locatie ma duc in My Documents --> GTA San Andreas User Files --> SAMP --> savedposition.txt I-ar acolo gasesc: AddPlayerClass(7,X,Y,Z,187.0042,0,0,0,0,0,0); // locatie X,Y,Z sunt numere , acele numere sunt coordonate. [glow=red,2,300]Checkpointid[playerid] = 0[/glow] = setam id-ul la CheckpointId pentru jucator sa fie 0. [glow=red,2,300]return 1;[/glow] - return 1; arata ca comanda a fost executata cu succes in joc, daca nu punem return 1; vor aparea erori in joc chit ca merge sau nu! Acum sa facem ca cand jucatorul ajunge la checkpoint sa ii se stearga de pe mapa! (bun pentru sisteme de gps) [pawn] public OnPlayerEnterCheckpoint(playerid) //traducere functie: Cand un jucator intra intr-un checkpoint { if (CheckpointID[playerid] == 0) //aici "verifica" daca checkpoint id este 0 cand intra intr-un checkpoint jucatorul sa se intample ce este mai jos { DisablePlayerCheckpoint(playerid); //aceasta functie sterge checkpointul SendClientMessage(playerid,COLOR_WHITE"Ai ajuns la destinatie"); //Aceasta functie trimite jucatorului mesaj ca a ajuns la destinatie } return 1; } [/pawn] [glow=red,2,300] Atentie! la scripting sa-mp trebuie sa fie asezarea buna![/glow] [glow=red,2,300] Exemplu gresit de asezare: [pawn] public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmd, "/numecomanda", true) == 0) { SetPlayerCheckpoint(playerid, X,Y,Z, 1.0); // aici folosim functia fara sa fi inclus a_samp deci este gresit CheckpointID[playerid] = 0; //aici este folosita multimea checkpointid inainte sa o fi creat deci este gresit return 1; } return 1; } new CheckpointID[MAX_PLAYERS]; #include <a_samp> public OnPlayerEnterCheckpoint(playerid) //traducere functie: Cand un jucator intra intr-un checkpoint { if (CheckpointID[playerid] == 0) //aici "verifica" daca checkpoint id este 0 cand intra intr-un checkpoint jucatorul sa se intample ce este mai jos { DisablePlayerCheckpoint(playerid); //aceasta functie sterge checkpointul SendClientMessage(playerid,COLOR_WHITE"Ai ajuns la destinatie"); //Aceasta functie trimite jucatorului mesaj ca a ajuns la destinatie } return 1; } return 1; }[/pawn] [glow=red,2,300]Exemplu bun de asezare:[/glow] [pawn] #include <a_samp> new CheckpointID[MAX_PLAYERS]; public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmd, "/numecomanda", true) == 0) { SetPlayerCheckpoint(playerid, X,Y,Z, 1.0); CheckpointID[playerid] = 0; return 1; } return 1; } public OnPlayerEnterCheckpoint(playerid) //traducere functie: Cand un jucator intra intr-un checkpoint { if (CheckpointID[playerid] == 0) //aici "verifica" daca checkpoint id este 0 cand intra intr-un checkpoint jucatorul sa se intample ce este mai jos { DisablePlayerCheckpoint(playerid); //aceasta functie sterge checkpointul SendClientMessage(playerid,COLOR_WHITE"Ai ajuns la destinatie"); //Aceasta functie trimite jucatorului mesaj ca a ajuns la destinatie } return 1; }[/pawn] [glow=red,2,300]Asta a fost tot ,daca sunt greseli gramaticale nu m-as supara sa fiu corectat prin edit.[/glow]