Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Defines naudojimas


Andzelo

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3685 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki.

Šią pamoką nusprendžiau sukurti apie defines.

 

Naudojimas

  • Defines yra teksto pakeitimas, juo galima keisti, trumpinti funkcijas ir pan, su juo galima keisti pawn sintaksę ir naudojame su:
    #define
    

    Jei norite naudoti defin'intą funkciją visame kode, defin'inkit kodo viršuje.

    Pradėsiu nuo pavyzdžių.
    Pvž.:
    #define pid   playerid
    

    Tai parašius kodo viršuje, visame kode vietoj "playerid" bus galima rašyti tiesiog "pid". Kaip matot iš pradžių yra rašoma tekstas,žodis tas į kurį norėsit pakeisti toliau parašyti funkciją ar kažką kitą. Kaip ir visose funkcijose, callback'ose, stock'ose negalima naudoti tarpų funkcijoje, bet vietoj jų dažniausiai visi naudoja "_".
    Pvž.:

    #define zaidejo id      playerid
    

    Tokio varianto būti negali, kadangi kaip ir minėjau visose funkcijose tarpų būti negali. Bet tinkamas variantas atrodytų taip:

    #define zaidejo_id      playerid
    

    Dabar vietoj "playerid" visur galima naudoti "zaidejo_id". Pvž.:

    SendClientMessage(zaidejo_id,Color,"text");
    

    Taip pat su "#define" galima ir toks variantas. Pvž.:

    #define Message(%0,%1,%2);        SendClientMessage(%0,%1,%2);
    

    Dabar vėl matote naują variantą su "%0-2". Dabar vietoj "SendClientMessage" naudoti galėsite "Message" funkciją, o visu parametrus ta pačia tvarka. Jei pvz "Message(%2,%0,%1)" tuomet parametrų eiga kinta. Tekstą rašome kurį siunčia žaidėjui pirmiausia, tada įrašome id'ą kuriam žaidėjui siunčiam žinute ir galiausiai nustatom spalvą. Viskas atrodytų taip:

    Message("Sveikas žaidėjau",playerid,Color);
    

    Eiga galite keisti kaip norite. O define's parametrai yra su % ir gali būti nuo 0 iki 9.
    Naujas variantas:

     

    #define Anything       Some_Text
    

    pvž.: jei šį define "Anything" panaudosite tokioje kaip:
     

    printf(%s it is., Anything);
    

    funkcijoje , rezultatas bus : "Some_Text it is.".

    Taip pat mažai žinomas būdas yra, toks ,kad jie gali būti kelių eilučių.

    #define VARIANTAS     \
    	              new i = 0; i < MAX_PLAYERS; i++) \
    		      if (IsPlayerConnected(i)
    

    Ir jį galima naudoti pvž.:

    for(VARIANTAS)
    {
          printf("%d prisijungė.",i)
    }
    

    Pats naudoju defines tiek su dialog'ais , tiek su SendClientMessage ir visa kita. Kas išmanot pawn, tas tikrai gali labai gerai panaudoti #define.

Redaguota , nario Marius..
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3685 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...