[Tutorial] Como usar macros. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (
https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tutorial] Como usar macros. (
/showthread.php?tid=409296)
Como usar macros. -
tonisantolia - 21.01.2013
Introduзгo
Bom, nгo sou muito bom com explicaзхes mas vou tentar ensinar como usar macros pois vejo que muitas pessoas aqui no forъm nгo sabem usar.
Mгos na Massa
Usar macros й uma maneira de criar funзхes mais otimizadas para seu script. Veja um exemplo de como formatar uma mensagem e envia-la usando
format e
SendClientMessage em um macro.
pawn Код:
#define MSGFormatada(%0,%1,%2,%3) new string[128];format(string, sizeof string, %2, %3) && SendClientMessage(%0,%1,string)
Parametros:
Код:
%0 = playerid.
%1 = Cor.
%2 = Mensagem.
%3 = String.
Modo de uso:
pawn Код:
MSGFormatada(playerid, COR, MSG, STRING);
Jб a SendClientMessage normal os parametros seriam:
pawn Код:
SendClientMessage(playerid, COR, MSG);
Bom, estudando as funзхes que eu estou ensinando a fazer em macros jб da para vocкs terem uma ideia que %0 %1 %2.. sгo como mascaras de formataзгo para uma certa string.
Agora, o DirectHit me pediu para falar de como usar macros para retirar a necessidade de por as forwards no gamemode, entгo o macro seria mais ou menos assim:
pawn Код:
#define callback %0(%1) forward %0(%1);public %0(%1)
Parametros:
Код:
%0 = Nome da Callback.
%1 = Funзхes da callback.
Exemplo:
#define MSGALLFormatada(%0,%1,%2) new string[128];format(string,sizeof string,%1,%2) && SendClientMessageToAll(%0,string)
callback tuegay(playerid)
{
new snd[MAX_PLAYER_NAME];
GetPlayerName(playerid,snd,sizeof snd);
MSGALLFormatada(-1,"%s й gay kkkk!",snd);
return 1;
}
Й um tutorial й basico.. Espero que gostem e nгo falem merdas no topicos ou seram reportados '-'
Depois irei postar mais atualizaзхes atй que fique um tutorial completo, se hб algum erro nos scripts falados acima me fale pois acabei de acordar e estou quase caindo da cadeira
Abraзos.
Re: Como usar macros. -
Lуs - 21.01.2013
Acho mais fбcil fazer com
y_va.
pawn Код:
SendClientMessageEx ( playerid, hex_colour, str [ ], {Float, _}:... )
{
new
str_text [ 128 ];
format ( str_text, sizeof str_text, str, va_start < 3 > );
return SendClientMessage ( playerid, colour, str );
}
Apesar de bбsico, bom tutorial.
Re: Como usar macros. -
ViniBorn - 21.01.2013
Sу que jб existe um semelhante...
http://forum.sa-mp.com/showthread.ph...ighlight=macro
Re: Como usar macros. -
tonisantolia - 21.01.2013
Quote:
Originally Posted by Los
Acho mais fбcil fazer com y_va.
pawn Код:
SendClientMessageEx ( playerid, hex_colour, str [ ], {Float, _}:... ) { new str_text [ 128 ];
format ( str_text, sizeof str_text, str, va_start < 3 > );
return SendClientMessage ( playerid, colour, str ); }
Apesar de bбsico, bom tutorial.
|
Foi sу um exemplo de uso mas й um tutorial bem simples mesmo.. Espero que esteja facil de ser entendido
@Edit
Vini, eu aprendi a usar macros pelo tutorial do blackdonely e sу tentei passar minha ideia sobre macros para os membros.. Obrigado por comentar!
Re: Como usar macros. -
paulor - 21.01.2013
Cara isso nгo й um tutorial para usar Macros e sim um Codigo que define uma SendClientMessageFormated.
Ensinar sobre macros й falar como й que й o processo dela antes e depois da compilaзгo e nгo tem esse negocio de otimizado, a unica diferenзa para uma CallBack й que vocк nгo estarб criando um CallBack e sim colocando direto no script depois da compilaзгo.
http://slice.nl/ppg/
Esse site mostra bem como funciona, pena que nгo estб online!!
Re: Como usar macros. -
AlucardSnow - 21.01.2013
Quote:
Originally Posted by paulor
Cara isso nгo й um tutorial para usar Macros e sim um Codigo que define uma SendClientMessageFormated.
Ensinar sobre macros й falar como й que й o processo dela antes e depois da compilaзгo e nгo tem esse negocio de otimizado, a unica diferenзa para uma CallBack й que vocк nгo estarб criando um CallBack e sim colocando direto no script depois da compilaзгo.
http://slice.nl/ppg/
Esse site mostra bem como funciona, pena que nгo estб online!!
|
Eu so entendi no SendClienteMessage
Em outras situaзхes de usar macro seu tutorial nao serveria.
o paulor ta certo
Vocк explico a usar em SendClientMessageFormated.
Mais bom o seu tutorial =)
Re: Como usar macros. -
HeyHoLetsGo - 21.01.2013
KK legal mano, nem sabia que isso era possнvel '-'
Valeu
Re: Como usar macros. -
DiReCt hIt - 21.01.2013
Gostei do tutorial Toni, apesar de simples, bem explicado .
@Depois Atualiza o Tуpico, ensinando usar nas Forwards, e muito ъtil tambйm .
Re: Como usar macros. -
tonisantolia - 21.01.2013
Mais tarde eu vou dar uma atualizaзгo no topico dando mais exemplos e mais explicaзхes
Re: Como usar macros. -
Schocc - 21.01.2013
Nгo achei bem explicado! ...
Tem mais informaзгo pra colocar ai ^^