Jump to content

Explicarea instructiunilor din pawno


burnfire

Recommended Posts

            Instructiuni Pawno

Partea 1 a tutorialului

  • Ce sunt instructiunile? Instructiunile sunt acele "comenzi" care au memorate executarea unui program.
  • In limbajul de programare,instructiunile sunt de 3 feluri:Conditionali(se executa daca datele introduse corespund cerintelor introduse,Repetitiv(care tinde sa upgradeze informatia introdusa si,cu ajutorul unei functii,sa o proceseze)si Liniare(instructiuni simple,ce ocupa o singura linie in script)

Lista instructiunilor din PAWNO sunt:

*Conditionale:if,else,else if,switch

*Repetitive:while,for,do while,if-goto

*Liniare:goto,break,continue si return

Sa incepem explicarea cu Instructiunile Conditionale...

1.IF(este instructiunea care se executa DACA conditia introdusa este corecta)

[pawn]/*Exemplu IF*/

new a;

//////

a = 5;

if(a == 5) return print("a este 5");

[/pawn]

2.ELSE(este instructiunea ceare se executa daca prima conditie(precizata cu ajutorul instructiunii IF este falsa,se v-a executa instructiunea 2)

[pawn]/*Exemplu ELSE*/

new b;

b = 5;

if(b == 4)

{//Nu se va executa//

print("b este 4");

}

else

{//Se v-a executa//

print("b este 5");[/pawn]

3.ELSE IF(este instructiunea care se v-a executa daca valoarea introdusa este adevarata,un mic exemplu este mai jos)

[pawn]new c = 6;

if(c == 1)

{//Nu se v-a executa//

print("c este 1");

}

else if(c = 6)

{//Se v-a executa//

print("c este 6");

}

else //Daca c este o alta valoare(ORICE VALOARE INAFARA DE CELE PRECIZATE MAI SUS)

{//Nu se v-a executa//

print("c este alta valoare");

}

[/pawn]

4.SWITCH(este varianta mult mai simpla la if,else if,else)

[pawn]new d = 2;

switch(d)

{

case 1:

{//Daca d este 1

print("d este 1");

}

case 2:

{//Daca d este 2

print("d este 2");

}

default:

{//Daca d este orice alt numar

print("d este un numar inafara de 1 si 2");

}

}[/pawn]

Pentru aceasta zi v-am introdus in lumea instructiunilor cu acest tutorial.In urmatorul tutorial va voi explica instructiunile liniare!!

Partea 2

In aceasta parte a tutorialului va voi explica functiilde de tip Liniare

1.GOTO(Este instructiunea care  v-a sari peste un anumit cod,pana la cel precizat in instructiune)

[pawn]/*Exemplu GOTO*/

new e;

//Dupa definirea variabilei,poate urma un cod//

goto e;

//Codul scris pana la variabila e,nu va fi executata//

print ("Acest cod nu v-a fi executat");

e = print("Am ajuns la variabila,de aici,scriptul va fi executat");

//Alt cod...//[/pawn]

2.BREAK(Aceasta instructiune v-a intrerupe o alta instructiune(de obicei,o instructiune repetitiva)

[pawn]/*Exemplu BREAK*/

new f;

if(f == 3) break;[/pawn]

3.CONTINUE(Instructiunea "Continue" v-a trece peste o repetare(folosita de obicei intr-o functie Repetitiva))

[pawn]/*Exemplu CONTINUE*/

for(new g=0,g<100,g++)

{

if(g == 1) continue;

printf("G este %d",g);

}[/pawn]

4.RETRUN(Aceasta instructiune v-a aduce(dupa executarea instructiunii anterioare) o valoare,o functie,etc.

[pawn]new h;

if(h <= 15) return print("h este mai mic decat 15!!!");[/pawn]

Acesta a fost sfaristul celui de-al doilea tutorial.In urmatorul tutroial,va voi explica instructiunile de tip REPETITIV.

Daca v-am ajutat,va rog sa lasati un comentariu.Daca nu va place nu lasati comentariu asa...Daca este vre-o greseala in tutorial,invit adminii sa o corecteze!

Link to comment
Share on other sites

if( a = 5 )

Nu ti se pare ca e ceva inneregula?

---------------------------------------------------------

== - Inseamna X egal cu Y, se poate folosi doar un functiile de verificare a unei valori ( Pasul 3)

Exemplu: if ( PlayerLevel[ playerid ] == 2 )

= - Se foloseste pentru a seta o anumita valoare unei functii

Exemplu: PlayerLevel[ playerid ] = 10;

!= - Punand un '!' un fata la '=' se genereaza efectul invers al '='. Adica, verifici daca X NU este Y.

Exemplu: if ( PlayerLevel[ playerid ] != 0 )

+= - Se foloseste '+' pentru a dauga valoarea setata in plus. Adica, valoarea curenta + valoarea setata.

Exemplu: PlayerLevel[ playerid ] += 1; < - Se adauga 1 valoare in plus variabilei, daca variabila are 3, va avea 4.

-= - Se foloeste '-' pentru a extrage valoarea din variabila.

Exemplu: PlayerLevel[ playerid ] -= 4; < - Se extrage 4 puncte! Daca variabila are 10 va avea 6. Daca variabila ar avea 3 ar veni -1 deoarece merg si negative!

> - Verifici daca X este mai mare ca Y.

Exemplu: if ( PlayerLevel[ playerid ] > 3 )

>= - Verifica daca X este mai mare sau egal cu Y.

Exemplu: if ( PlayerLevel[ playerid ] >= 7 )

< - Verifici daca X este mai mic ca Y.

Exemplu: if ( PlayerLevel[ playerid ] < 3 )

<= - Verifici daca X este mai mic sau egal cu Y.

Exemplu: if ( PlayerLevel[ playerid ] <= 5 )

(By Zh3r0)

In rest e bun, mai lucreaza putin la aspect si e perfect!

Link to comment
Share on other sites

if( a = 5 )

Nu ti se pare ca e ceva inneregula?

---------------------------------------------------------

== - Inseamna X egal cu Y, se poate folosi doar un functiile de verificare a unei valori ( Pasul 3)

Exemplu: if ( PlayerLevel[ playerid ] == 2 )

= - Se foloseste pentru a seta o anumita valoare unei functii

Exemplu: PlayerLevel[ playerid ] = 10;

!= - Punand un '!' un fata la '=' se genereaza efectul invers al '='. Adica, verifici daca X NU este Y.

Exemplu: if ( PlayerLevel[ playerid ] != 0 )

+= - Se foloseste '+' pentru a dauga valoarea setata in plus. Adica, valoarea curenta + valoarea setata.

Exemplu: PlayerLevel[ playerid ] += 1; < - Se adauga 1 valoare in plus variabilei, daca variabila are 3, va avea 4.

-= - Se foloeste '-' pentru a extrage valoarea din variabila.

Exemplu: PlayerLevel[ playerid ] -= 4; < - Se extrage 4 puncte! Daca variabila are 10 va avea 6. Daca variabila ar avea 3 ar veni -1 deoarece merg si negative!

> - Verifici daca X este mai mare ca Y.

Exemplu: if ( PlayerLevel[ playerid ] > 3 )

>= - Verifica daca X este mai mare sau egal cu Y.

Exemplu: if ( PlayerLevel[ playerid ] >= 7 )

< - Verifici daca X este mai mic ca Y.

Exemplu: if ( PlayerLevel[ playerid ] < 3 )

<= - Verifici daca X este mai mic sau egal cu Y.

Exemplu: if ( PlayerLevel[ playerid ] <= 5 )

(By Zh3r0)

In rest e bun, mai lucreaza putin la aspect si e perfect!

Mersi,Rock,am editat:D

Link to comment
Share on other sites

  • 2 weeks later...

Sa continuam cu tutorialul nostru...

Instructiuni repetitive

1.FOR(aceasta instructiune are rolul de a upgrada o variabila la un anumit callback(cand un player se conecteaza/cand se spwneaza etc.)

[pawn]/*exemplu FOR*/

#include <a_samp>

public OnPlayerConnect(playerid)

{

for(new i,i<MAX_PLAYERS,i++)

{

if(IsPlayerConected(i))

{

new string[128];

format(string,128,"Acest mesaj v-a fi trimis tuturor playerilor cand un player se conecteaza!Acum sunt conectati %d playeri!",i);

SendClientMessage(i,-1,string);

return 1;

}

}

return 1;

}

[/pawn]

Curand va voi mai aduce cateva functii.

Link to comment
Share on other sites

Ai inteles gresit. E adevarat, codul tau ar functiona dar nu upgradeaza o variabila la un callback, chestia asta e gresita din toate punctele de vedere.

Un loop este format din 3 sectiuni, initializarea, conditia si finalul.

for( new i = 0; i < MAX_PLAYERS; i++ )

Initializarea = new i = 0; (unde este declarata variabila, de asemenea poate fi declarata si in alta parte)

Conditia = i < MAX_PLAYERS; (daca i este mai mic decat MAX_PLAYERS)

Finalul = i++ (adauga +1 variabilei i pana cand este mai mare sau egala cu conditia)

Citeste mai bine astea

Link to comment
Share on other sites

Pai daca adauga 1 la valoarea initiala,nu inseamna ca o upgradeaza???

Upgrading is the process of replacing a product with a newer version of the same product. In computing and consumer electronics an upgrade is generally a replacement of hardware, software or firmware with a newer or better version, in order to bring the system up to date or to improve its characteristics.

E o diferenta mare intre upgrade si adauga/creste

Link to comment
Share on other sites

Sa mori tu!Iti citez din wiki sa-mp:

Then the contents of the loop is run. Initially this will print "0". Finally the update is done "i++", this increases the value of i.

Vezi,ti-am subliniat cuvantul UPDATE in citat:D .Ca sa nu te faci de ras,mai degraba imi ceri scuze,asa,din bun simt :D.

Link to comment
Share on other sites

  • 3 months later...

@burnfire

In for nu se pune virgula, ci punct si virgula.

Modifica si in postul initial.

for(new g=0,g<100,g++)
for(new g = 0; g < 100; g++)

E o diferenta intre astea doua.

= - Se foloseste pentru a seta o anumita valoare unei functii

Exemplu: PlayerLevel[ playerid ] = 10;

Aia careia ii setezi tu valoarea se numeste variabila. Functia poate cel mult sa returneze o valoare sau sa o primeasca drept parametru.

Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.