SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 27/09/2013, 07:31 AM   #11
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,087
Reputation: 545
Default Re: #emit IDXADDR

Quote:
Originally Posted by Schocc View Post
legal mesmo, o que me diz sobre anti-cheats feitos em #emit? maquina abstrata?, funcionaria?
Não tem muito o que fazer com #emit. Na verdade não tem quase nada haver.

#emit apenas serve para manipular a memória de forma bruta, não tem muita utilidade quando utilizado em jogo.
__________________
Baixar Músicas Grátis
ipsBruno is offline   Reply With Quote
Old 27/09/2013, 01:29 PM   #12
RuanRider
Huge Clucker
 
Join Date: Aug 2013
Posts: 248
Reputation: -8
Default Re: #emit IDXADDR

tem só %c e %d?
creio que não, me mostra outros ae?
__________________

skype ruan.rider
__________________
RuanRider is offline   Reply With Quote
Old 27/09/2013, 01:32 PM   #13
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,087
Reputation: 545
Default Re: #emit IDXADDR

que eu lembro, são estes. mas há como fazer mais.

%s %b %x %i %c %% %f %d

mas pode manipula-los com

%20s ou %0.3f %02d etc.

se estiver em sscanf, há outra gama também

p<delim>, u, s,i,d,z,b,p,a,h,x,o,r,g,s[N],a<especificadores>[size],{opcional},(Ns),e<especificadores>


também tem os carriers

\n \a \r \\ \xN \bN (n = numero no formato)
__________________
Baixar Músicas Grátis
ipsBruno is offline   Reply With Quote
Old 27/09/2013, 01:35 PM   #14
RuanRider
Huge Clucker
 
Join Date: Aug 2013
Posts: 248
Reputation: -8
Default Re: #emit IDXADDR

qual o resultado dessas manipulações? %20s, %0.3f ..

e qual o nome dado isso %letra?
__________________

skype ruan.rider
__________________
RuanRider is offline   Reply With Quote
Old 27/09/2013, 01:38 PM   #15
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,087
Reputation: 545
Default Re: #emit IDXADDR

%20s vai completar com espaços o que falta

PHP Code:
printf("'%08s'""Bruno"); 
Bruno tem 5 caracteres, mas são 8. Então completa 3 com espaços


%0.3f vai literalmente pegar só até X números após casas decimais

PHP Code:
printf("%0.3f"1.16819841); 
vai imprimir só 1.16


%04d preenche com zeros um inteiro


algo como:

PHP Code:
printf("%04d"10); 
São duas casas, mas eu pedi 4. Entao ele completa 2 com zeros a esquerda

0010




O nome %letra na programação pode ser placeholder ou especificadores (specifiers). Depende qual objetivo da função. Em sscanf, quando não se usa % se chama especificador, pois especifica o tipo de dado imposto. Em format %letra se chama placeholder, pois % é substituído pela variável indicada


EDITADO

Esqueci do carrier de tab também \t
__________________
Baixar Músicas Grátis
ipsBruno is offline   Reply With Quote
Old 28/09/2013, 09:56 PM   #16
zPain
Gangsta
 
zPain's Avatar
 
Join Date: Sep 2013
Location: Brazil
Posts: 668
Reputation: 183
Default Re: #emit IDXADDR

Eu escrevi uma função similar à sua getidx, mas fiquei com uma pequena dúvida:


Seu código:
pawn Code:
stock getidx(arr[], idx) {

    // carrega no registro primário o idx
    #emit LOAD.S.pri    idx
   
    // carrega a array no registro secundario
    #emit LOAD.S.alt    arr
   
    // pega o endereço de arr[idx]
    #emit IDXADDR
   
    // armazena o valor do endereço em idx
    #emit STOR.S.pri    idx
   
    // carrega a array
    #emit LOAD.I
   
    // armazena o valor de arr[idx] em idx agora
    #emit STOR.S.pri    idx
   
    // retorna o valor encontrado
    #emit RETN
   
    // faça o compilador feliz
    return 0;
}


Meu código:
pawn Code:
stock GetArrayIndex(array[], index)
{
    #emit LOAD.S.PRI index
    #emit LOAD.S.ALT array

    #emit IDXADDR

    #emit STOR.S.PRI index
    #emit LOAD.I

    #emit RETN
    return 0;
}


Repare que eu não executo um novo STOR após o LOAD. Existe alguma razão específica para que você faça isso?
zPain is offline   Reply With Quote
Old 29/09/2013, 02:47 AM   #17
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,087
Reputation: 545
Default Re: #emit IDXADDR

Erro meu. Não há necessidade de STOR após o LOAD.I, é que quando fiz a função ela retornava em IDX, então eu modifiquei o código para RETN e acabei deixando o STOR ali.


Abraços
__________________
Baixar Músicas Grátis
ipsBruno is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
@emit Slice Discussion 4 16/04/2013 05:44 PM
Emit Help Snir_sofer Scripting Help 2 25/09/2012 05:54 PM
Help with #emit _Petrol_ Scripting Help 0 23/08/2012 03:54 PM
#emit Max_Coldheart Scripting Help 6 08/03/2012 08:17 PM


All times are GMT. The time now is 07:05 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.