[Shop] => Conturi steam & Licente la preturi accesibile
Aici
<!-- Start of adf.ly banner code --><a href="http://adf.ly/?id=10051389"><img border="0" src="https://cdn.adf.ly/images/banners/adfly.300x250.1.gif" width="300" height="250" title="AdF.ly - shorten links and earn money!" /></a>
<!-- End of adf.ly banner code -->
[Shop] => Conturi steam & Licente la preturi accesibile
Aici
<!-- Start of adf.ly banner code --><a href="http://adf.ly/?id=10051389"><img border="0" src="https://cdn.adf.ly/images/banners/adfly.300x250.1.gif" width="300" height="250" title="AdF.ly - shorten links and earn money!" /></a>
<!-- End of adf.ly banner code -->
AcasaAcasa  CăutareCăutare  Ultimele imaginiUltimele imagini  ÎnregistrareÎnregistrare  ConectareConectare  






In Prime Сasual Dating - Verified Ladies by:Anexy
In Authentic Damsels Supreme Сasual Dating by:Anexy
In Metin2RO Hacks - Cea mai mare comunitate de Metin2 Ro din Romania by:MdL
In Test by:MdL
In Leis setat de BuLLeT by:blupy
» Top five «
MdL (2756)
AdyNuTz (1540)
David18 (1182)
Kestrel (1178)
C0L4 (701)
J'adore # (677)
Dl.Puf (667)
InamiculPublic (582)
MaNu (503)
Roby123 (498)


Distribuiţi|

sscanf2 - Parametri optionali

Vezi subiectul anterior Vezi subiectul urmator In jos
AutorMesaj
I'm sorry

Membru
I'm sorry
Rank: Membru
Mesaje : 132
Membru din : 25/11/2012
Nick CS : [__Crazy__]
Mulţumiri : 3
sscanf2 - Parametri optionali Empty
MesajSubiect: sscanf2 - Parametri optionali sscanf2 - Parametri optionali Icon_minitimeDum Ian 06, 2013 11:31 pm

sscanf2 - Parametri optionali

Ce este un parametru optional?

Un parametru optional este un parametru de care nu depinde functionarea unei comenzi.



Cum poate recunoaste sscanf2 un parametru optional?

sscanf2 nu poate sti ce parametru doriti dvs. sa fie optional, asa ca trebuie sa interveniti. Un parametru optional se noteaza cu majuscula specificatorului ( ex: pentru string este "S", pentru integer este "I" sau "D", pentru hex este "X" sau "H", pentru nume de jucator este "U" ).



Notarea si valoarea implicita a unui parametru optional:

Imediat dupa ce se noteaza un parametru optional cu majuscula specificatorului, trebuie notata valoarea implicita intre doua paranteze rotunde.

Cod:
sscanf ( params, "iI(21)", p[0], p[1] );

In codul de mai sus exista doi parametri, ambii integer:
primul parametru este unul obligatoriu
al doilea parametru este optional, cu valoarea implicita = 21

NOTA:

In cazul unui parametru optional ce este string, mai intai se face notarea valoii implicite, apoi marimea string-ului:
Cod:
sscanf ( params, "iS(pere)[32]", integer, string );

In codul de mai sus exista doi parametri:
primul parametru este unul obligatoriu, integer
al doilea parametru este optional, string de marimea "32", cu valoarea implicita = "pere"

Exemple:

Cod:
CMD:veh ( playerid, params [ ] )
{
   new
       param [ 3 ]
   ;
   if ( sscanf ( params, "iI(-1)I(-1)", param [ 0 ], param [ 1 ], param [ 2 ] ) )
       return SendClientMessage ( playerid, -1, "/veh <id> <culoare 1> <culoare 2>" ); // unde culorile sunt parametri optionali

   new
       Float:pos[3],
   ;
   GetPlayerPos ( playerid, pos [ 0 ], pos [ 1 ], pos [ 2 ] );

   CreateVehicle ( param [ 0 ], pos [ 0 ], pos [ 1 ], pos [ 2 ], 0.0, param [ 1 ], param [ 2 ], -1 );
   return 1;
}

CMD:kick ( playerid, params [ ] )
{
   new
       giveplayerid,
       motiv [ 32 ]
   ;
   if ( sscanf ( params, "uS()[32]", giveplayerid, motiv ) ) // motivul este optional si are valoarea implicita NULA
       return SendClientMessage ( playerid, -1, "/kick <playerid/nume> <motiv>" );

   if ( isnull ( motiv ) ) // nu s-a introdus nici un motiv
   {
       SendClientMessage ( giveplayerid, -1, "* Ati primit kick fara motiv." );
   }
   else // s-a introdus un motiv
   {
       new
          string [ 64 ]
        ;
        format ( string, sizeof ( string ), "* Ati primit kick. Motiv: %s", motiv );
        SendClientMessage ( giveplayerid, -1, string );
   }
   Kick ( giveplayerid );
   return 1;
}

CMD:fine ( playerid, params [ ] )
{
   new
       param [ 2 ]
   ;
   if ( sscanf ( params, "uI(-1)", param [ 0 ], param [ 1 ] ) )
       return SendClientMessage ( playerid, -1, "/fine <playerid/nume> <bani>" ); // unde culorile sunt parametri optionali

   if ( param [ 1 ] == -1 ) // Nu s-a introdus parametrul optional
   {
       ResetPlayerMoney ( param [ 0 ] );
   }
   else // Parametrul optional a fost introdus
   {
       GivePlayerMoney ( param [ 0 ], -param [ 1 ] );
   }
   return 1;
}

NOTA:
Aceasta metoda nu se poate aplica pe prima versiune sscanf ( stock ).
Sus In jos

sscanf2 - Parametri optionali

Vezi subiectul anterior Vezi subiectul urmator Sus
SusIn jos
SusIn jos
SusIn jos
SusIn jos
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
 :: [» RESURSE-CS «] Jocuri :: San Andreas Multiplayer :: Tutoriale-
Flag Counter