Portal SAMP
[Include] Notificação Txd - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Lançamentos (https://portalsamp.com/forumdisplay.php?fid=26)
+---- Fórum: Includes (https://portalsamp.com/forumdisplay.php?fid=27)
+---- Tópico: [Include] Notificação Txd (/showthread.php?tid=3774)



Notificação Txd - RosaScripter - 12/07/2023

NOTIFICAÇÃO


Include para fazer que não tenha muitas mensagens no chat e para substituir os SCM com ou sem format.
[url=https://github.com/LuanRosa/notificacao#modo-de-uso][/url]
Código:
MODO DE USO

#define ICONE_ERRO "hud:thumbdn"
#define ICONE_AVISO "hud:badchat"
#define ICONE_CERTO "hud:thumbup"

notificacao(playerid, titulo, mensagem, sprite);

notificacao(playerid, "AVISO", "Você foi avisado", ICONE_AVISO);

format(Str, sizeof(Str), "O %s mostrou uma notificao para você", Name(playerid));
notificacao(playerid, "AVISO", Str, ICONE_AVISO);

[Imagem: notify.jpg]

https://github.com/LuanRosa/notificacao


RE: Notificação Txd - xbruno1000x - 12/07/2023

Muito boa contribuição! +Rep

Uma sugestão que dou, é que poderia ser tipo o SendClientMessageEx, que é uma função que já vem com format.

Código:
Código:
SendClientMessageEx(playerid, color, const str[], {Float,_}:...)
{
    static
        args,
        start,
        end,
        string[144]
    ;
    #emit LOAD.S.pri 8
    #emit STOR.pri args

    if (args > 12)
    {
        #emit ADDR.pri str
        #emit STOR.pri start

        for (end = start + (args - 12); end > start; end -= 4)
        {
            #emit LREF.pri end
            #emit PUSH.pri
        }
        #emit PUSH.S str
        #emit PUSH.C 144
        #emit PUSH.C string
        #emit PUSH.C args
        #emit SYSREQ.C format

        SendClientMessage(playerid, color, string);

        #emit LCTRL 5
        #emit SCTRL 4
        #emit RETN
    }
    return SendClientMessage(playerid, color, str);
}

Uso:
Código:
new player_name[MAX_PLAYER_NAME];
GetPlayerName(playerid, player_name);
SendClientMessageEx(playerid, -1, "O meu nome é %s.", playername);