Jump to content

Functia #emit


Mister

Recommended Posts

Ei bine stiu ca este mai greu de lucrat cu asa ceva si cu siguranta "scripteri" nostri nu folosesc asa ceva si nu stiu ce este, de acea astept pareri de la cei care se pricep cat de cat.

Cu ce ajuta cat de utila este si cum functioneaza, mie mi se pare destul de interesanta functia, y_less are destul de multe includeuri care o foloseste si are destul de multe posibilitati.

Ma gandeam ca e un subiect de discutie pe tema functiei #emit si poate si eu si alti vom afla mai multe despre ea

Edited by Mister

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

Eu aș spune că acest topic nu își prea are rostul fiindcă dacă nu știți ce este #emit nici nu o să aveți nevoie să îl folosiți. #emit nu trebuie folosit să programezi în PAWN ci să ”extinzi” limbajul. Dacă dorești să faci un gamemode/filterscript sau să faci o librărie nu ai nevoie de #emit. Ca să întelegi #emit-ul trebuie să înțelegi prima dată formatul AMX.

Gh38gEQ.gif

Link to comment
Share on other sites

Acum 50 minute, ImpulsE a spus:

Eu aș spune că acest topic nu își prea are rostul fiindcă dacă nu știți ce este #emit nici nu o să aveți nevoie să îl folosiți. #emit nu trebuie folosit să programezi în PAWN ci să ”extinzi” limbajul. Dacă dorești să faci un gamemode/filterscript sau să faci o librărie nu ai nevoie de #emit. Ca să întelegi #emit-ul trebuie să înțelegi prima dată formatul AMX.

Folosit intr-o functie care o folosesti foarte des gen ceva care iti arata un text, un TD se arata a fi destul de util si benefic.

Sinner.png

Link to comment
Share on other sites

27 minutes ago, SoNNy.sys said:

Folosit intr-o functie care o folosesti foarte des gen ceva care iti arata un text, un TD se arata a fi destul de util si benefic.

De ce ai folosii OpCode-uri pentru a trimite un mesaj? #emit-ul ajuta la optimizare dar se poate optimiza un gm si in alt mod fara a te complica cu asa ceva, #emit-ul nu e o cale prea folosita/buna de optimizare..

Gh38gEQ.gif

Link to comment
Share on other sites

function ShowFormat_MSG(playerid, ms_time, text[], {Float, _}:...)
{
	#define BYTES_PER_CELL 4
	static const STATIC_ARGS = 3;
	new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
	if(n)
    {
        new
            arg_start,
            arg_end,
			buffer[256];

        #emit CONST.alt		text
        #emit LCTRL			5
        #emit ADD
        #emit STOR.S.pri	arg_start

        #emit LOAD.S.alt	n
        #emit ADD
        #emit STOR.S.pri	arg_end

        do
        {
			#emit LREF.S.pri arg_end
			#emit PUSH.pri
			arg_end -= BYTES_PER_CELL;
        }
        while (arg_end > arg_start);

        #emit PUSH.S		text
        #emit PUSH.C		256
        #emit PUSH.ADR		buffer

        n += BYTES_PER_CELL * 3;
        #emit PUSH.S		n
        #emit SYSREQ.C		format

        n += BYTES_PER_CELL;
        #emit LCTRL			4
        #emit LOAD.S.alt	n
        #emit ADD
        #emit SCTRL			4

		// Update the player's information textdraw with the custom buffer
		PlayerTextDrawSetString( playerid, PLAYER_TD[ 2 ], buffer );
    }
    else
    {
		// Update the textdraw with the parameter input
		PlayerTextDrawSetString( playerid, PLAYER_TD[ 2 ], text );
    }
	return true;
}

 

Sinner.png

Link to comment
Share on other sites

5 minutes ago, SoNNy.sys said:

function ShowFormat_MSG(playerid, ms_time, text[], {Float, _}:...)
{
	#define BYTES_PER_CELL 4
	static const STATIC_ARGS = 3;
	new n = (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
	if(n)
    {
        new
            arg_start,
            arg_end,
			buffer[256];

        #emit CONST.alt		text
        #emit LCTRL			5
        #emit ADD
        #emit STOR.S.pri	arg_start

        #emit LOAD.S.alt	n
        #emit ADD
        #emit STOR.S.pri	arg_end

        do
        {
			#emit LREF.S.pri arg_end
			#emit PUSH.pri
			arg_end -= BYTES_PER_CELL;
        }
        while (arg_end > arg_start);

        #emit PUSH.S		text
        #emit PUSH.C		256
        #emit PUSH.ADR		buffer

        n += BYTES_PER_CELL * 3;
        #emit PUSH.S		n
        #emit SYSREQ.C		format

        n += BYTES_PER_CELL;
        #emit LCTRL			4
        #emit LOAD.S.alt	n
        #emit ADD
        #emit SCTRL			4

		// Update the player's information textdraw with the custom buffer
		PlayerTextDrawSetString( playerid, PLAYER_TD[ 2 ], buffer );
    }
    else
    {
		// Update the textdraw with the parameter input
		PlayerTextDrawSetString( playerid, PLAYER_TD[ 2 ], text );
    }
	return true;
}

 

Sa fim sincer, vezi tu pe cineva care face servere fantoma sa foloseasca asa ceva? Stiu ca este posibil si util sa il folosesti in acest mod, dar multi nu il vor folosii fiindca nici nu stiu cum sa foloseasca o functie sau "ei nu au nevoie de optimizare fiindca gm-ul lor este deja perfect"..(Cam asta este situatia la noi in tara in 2016.. desigur, sunt si exceptii dar sunt putine)

Gh38gEQ.gif

Link to comment
Share on other sites

Normal ca n-am vazut nicaieri asa ceva pentru ca in Romania exista foarte putini scripteri care au habar macar ca exista #emit sau au macar notiunea de "optimizare" imprimata pe creier. M-am mai certat si ieri cu un fraierica Saurik sau cum il mai cheama pe motiv ca a fostat un GM de tot kktul si el se bate cu pumnul in piept ca detine nu stiu ce comunitate si ca e scripter cunoscut.

Sinner.png

Link to comment
Share on other sites

41 minutes ago, SoNNy.sys said:

Normal ca n-am vazut nicaieri asa ceva pentru ca in Romania exista foarte putini scripteri care au habar macar ca exista #emit sau au macar notiunea de "optimizare" imprimata pe creier. M-am mai certat si ieri cu un fraierica Saurik sau cum il mai cheama pe motiv ca a fostat un GM de tot kktul si el se bate cu pumnul in piept ca detine nu stiu ce comunitate si ca e scripter cunoscut.

1. Fraier e ...
2. Scripter-ule ti-am mai spus du-te frate ca ai de prasit si tu stai la calculator, nu e frumos ce faci. :( 
3. Esti un martalog cu diploma. ;)
4. Nu te mai da mare scripter, ca esti un ratat. P.S: Dupa cum te vad si in poza nu esti ratat numai in scripting, esti si in real life.

Acum astept warn. :D 

Edited by s4uriK

                     

  Serverul meu de Discord: Click aici       a7DfKP7.gif                                                                      FGIfknL.gif

k35T5Nb.png                                                                                                                                                                                                                                                                                                I0aS856.gif

Link to comment
Share on other sites

1 minute ago, SoNNy.sys said:

Ma bucur ca ai invatat sa scrii "du-te".

;)

                     

  Serverul meu de Discord: Click aici       a7DfKP7.gif                                                                      FGIfknL.gif

k35T5Nb.png                                                                                                                                                                                                                                                                                                I0aS856.gif

Link to comment
Share on other sites

3 hours ago, s4uriK said:

1. Fraier e ...
2. Scripter-ule ti-am mai spus du-te frate ca ai de prasit si tu stai la calculator, nu e frumos ce faci. :( 
3. Esti un martalog cu diploma. ;)
4. Nu te mai da mare scripter, ca esti un ratat. P.S: Dupa cum te vad si in poza nu esti ratat numai in scripting, esti si in real life.

Acum astept warn. :D 

Asteptarea a luat sfarsit .

  • Upvote 1
Link to comment
Share on other sites

Well... ma gandeam ca fac topicul ca lumea sa mai invete si altceva pe langa pawn, care are aceleasi functii dar cu posibilitati de utilizare nenumarate, ma gandeam ca oamenii vor invata #emit si si il vor folosi dupa ce citesc topicul dar se pare ca am strans decat certuri freechat dublu post jignirii etc.

Deci o sa dau un T.C. 

 

    __  ____      __           
   /  |/  (_)____/ /____  _____
  / /|_/ / / ___/ __/ _ \/ ___/
 / /  / / (__  ) /_/  __/ /    
/_/  /_/_/____/\__/\___/_/     
SERVICII SCRIPTING DE CALITATE
Pagina     Scripting     pawn
Link to comment
Share on other sites

  • Mister locked this topic
Guest
This topic is now closed to further replies.
×
×
  • 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.