notifications - MarcosBrazz - 01/09/2022
* Notification-System
Sistema de notificações para SA-MP
Essa include permite criar até 3 notificações ao mesmo tempo, podendo escolher em cada notificação: Titulo e Mensagem. Cada notificação fica visivel por um tempo estimado de 8-10 segundos
Função:
Código PHP: native Notificacao(playerid, const titulo[], const mensagem[]);
Retornos:
Código: 0: Função falhou e/ou exedeu o limite de 3 notificações ao mesmo tempo
1: Função foi executada com sucesso!
Exemplo de Uso:
Código: public OnPlayerSpawn(playerid){
Notificacao(playerid, "Spawnado", "Voce acaba de spawnar no servidor, parabens. seja bem vindo ao servidor!");
SetPlayerPos(playerid, 1212.4865,-977.6506,43.4766);
return 1;
}
public OnPlayerConnect(playerid){
Notificacao(playerid, "Conectando", "Voce esta conectando ao servidor!");
return 1;
}
public OnPlayerText(playerid, text[]){
Notificacao(playerid, "Ajuda", "Se voce tiver duvidas, use /ajuda!");
return 1;
}
Resultado do Exemplo:
-> Observações finais:
- É recomendado utilizar de 0-100 caracteres na mensagem para não ultrapassar a box
- O Sistema gerencia os 3 slots de notificação automaticamente sem a necessidade de escolher, basta chamar a função.
- Chamar a função enquanto existem 3 notificações sendo mostradas ao jogador fará com que a função retorne 0 e falhe.
- Sei que poderia ser mais otimizado, porém fiz em 1 hora e meia, quem sabe venha otimizações em futuras versões (apenas no github)
-> Download & Assets
-> Créditos:- Brazz (Criador da include)
RE: Notification-System - xbruno1000x - 01/09/2022
Ótima contribuição! +Rep
Se encaixa muito bem como um substituto para o SendClientMessage. Acredito que você poderia implementar a stock fixtext, para permitir acentuação das palavras em português.
caso deseje o código do fixtext:
Código: stock FixText(const string[])
{
new szFixed[1024], iPos, iLen;
for(iLen = strlen(string); iPos < iLen; iPos ++)
switch(string[iPos])
{
case '%': szFixed[iPos] = 37;
case '&': szFixed[iPos] = 38;
case '¡': szFixed[iPos] = 64;
case '°': szFixed[iPos] = 124;
case 'À': szFixed[iPos] = 128;
case 'Á': szFixed[iPos] = 129;
case 'Â': szFixed[iPos] = 130;
case 'Ä', 'Ã': szFixed[iPos] = 131;
case 'Ç': szFixed[iPos] = 133;
case 'È': szFixed[iPos] = 134;
case 'É': szFixed[iPos] = 135;
case 'Ê': szFixed[iPos] = 136;
case 'Ë': szFixed[iPos] = 137;
case 'Ì': szFixed[iPos] = 138;
case 'Í': szFixed[iPos] = 139;
case 'Î': szFixed[iPos] = 140;
case 'Ï': szFixed[iPos] = 141;
case 'Ò': szFixed[iPos] = 142;
case 'Ó': szFixed[iPos] = 143;
case 'Ô': szFixed[iPos] = 144;
case 'Ö', 'Õ': szFixed[iPos] = 145;
case 'Ù': szFixed[iPos] = 146;
case 'Ú': szFixed[iPos] = 147;
case 'Û': szFixed[iPos] = 148;
case 'Ü': szFixed[iPos] = 149;
case 'à': szFixed[iPos] = 151;
case 'á': szFixed[iPos] = 152;
case 'â': szFixed[iPos] = 153;
case 'ä', 'ã': szFixed[iPos] = 154;
case 'ç': szFixed[iPos] = 156;
case 'è': szFixed[iPos] = 157;
case 'é': szFixed[iPos] = 158;
case 'ê': szFixed[iPos] = 159;
case 'ë': szFixed[iPos] = 160;
case 'ì': szFixed[iPos] = 161;
case 'í': szFixed[iPos] = 162;
case 'î': szFixed[iPos] = 163;
case 'ï': szFixed[iPos] = 164;
case 'ò': szFixed[iPos] = 165;
case 'ó': szFixed[iPos] = 166;
case 'ô': szFixed[iPos] = 167;
case 'ö', 'õ': szFixed[iPos] = 168;
case 'ù': szFixed[iPos] = 169;
case 'ú': szFixed[iPos] = 170;
case 'û': szFixed[iPos] = 171;
case 'ü': szFixed[iPos] = 172;
case 'Ñ': szFixed[iPos] = 173;
case 'ñ': szFixed[iPos] = 174;
case '¿': szFixed[iPos] = 175;
case '`': szFixed[iPos] = 177;
default: szFixed[iPos] = string[iPos];
}
return szFixed;
}
RE: Notification-System - MarcosBrazz - 01/09/2022
(01/09/2022 22:57)xbruno1000x Escreveu: Ótima contribuição! +Rep
Se encaixa muito bem como um substituto para o SendClientMessage. Acredito que você poderia implementar a stock fixtext, para permitir acentuação das palavras em português.
caso deseje o código do fixtext:
Código: stock FixText(const string[])
{
new szFixed[1024], iPos, iLen;
for(iLen = strlen(string); iPos < iLen; iPos ++)
switch(string[iPos])
{
case '%': szFixed[iPos] = 37;
case '&': szFixed[iPos] = 38;
case '¡': szFixed[iPos] = 64;
case '°': szFixed[iPos] = 124;
case 'À': szFixed[iPos] = 128;
case 'Á': szFixed[iPos] = 129;
case 'Â': szFixed[iPos] = 130;
case 'Ä', 'Ã': szFixed[iPos] = 131;
case 'Ç': szFixed[iPos] = 133;
case 'È': szFixed[iPos] = 134;
case 'É': szFixed[iPos] = 135;
case 'Ê': szFixed[iPos] = 136;
case 'Ë': szFixed[iPos] = 137;
case 'Ì': szFixed[iPos] = 138;
case 'Í': szFixed[iPos] = 139;
case 'Î': szFixed[iPos] = 140;
case 'Ï': szFixed[iPos] = 141;
case 'Ò': szFixed[iPos] = 142;
case 'Ó': szFixed[iPos] = 143;
case 'Ô': szFixed[iPos] = 144;
case 'Ö', 'Õ': szFixed[iPos] = 145;
case 'Ù': szFixed[iPos] = 146;
case 'Ú': szFixed[iPos] = 147;
case 'Û': szFixed[iPos] = 148;
case 'Ü': szFixed[iPos] = 149;
case 'à': szFixed[iPos] = 151;
case 'á': szFixed[iPos] = 152;
case 'â': szFixed[iPos] = 153;
case 'ä', 'ã': szFixed[iPos] = 154;
case 'ç': szFixed[iPos] = 156;
case 'è': szFixed[iPos] = 157;
case 'é': szFixed[iPos] = 158;
case 'ê': szFixed[iPos] = 159;
case 'ë': szFixed[iPos] = 160;
case 'ì': szFixed[iPos] = 161;
case 'í': szFixed[iPos] = 162;
case 'î': szFixed[iPos] = 163;
case 'ï': szFixed[iPos] = 164;
case 'ò': szFixed[iPos] = 165;
case 'ó': szFixed[iPos] = 166;
case 'ô': szFixed[iPos] = 167;
case 'ö', 'õ': szFixed[iPos] = 168;
case 'ù': szFixed[iPos] = 169;
case 'ú': szFixed[iPos] = 170;
case 'û': szFixed[iPos] = 171;
case 'ü': szFixed[iPos] = 172;
case 'Ñ': szFixed[iPos] = 173;
case 'ñ': szFixed[iPos] = 174;
case '¿': szFixed[iPos] = 175;
case '`': szFixed[iPos] = 177;
default: szFixed[iPos] = string[iPos];
}
return szFixed;
}
Obrigado pela dica Bruno, atualizei a include
RE: A include e bem impressionante mesmo, pena que ta com um erro aqui - LuizFraga - 07/09/2022
invalid expression, assumed zero linha 32
quem souber o erro
Dentro Da Include ta dando esse erro!
RE: A include e bem impressionante mesmo, pena que ta com um erro aqui - MarcosBrazz - 07/09/2022
(07/09/2022 16:54)LuizFraga Escreveu: invalid expression, assumed zero linha 32
quem souber o erro
Dentro Da Include ta dando esse erro!
Acabei de testar a compilação com a include em 2 gamemodes com os compiladores versões 3.2.3664 e 3.10.10 e compilou sem nenhum erro.
A linha 32 está entre esse código e não vejo nenhum problema neles dentro da include:
Código: new
Brazz_BarUsed[MAX_PLAYERS][Brazz_MAX_NOTIFICATIONS] = {-1, ...},
Float:Brazz_BarPercent[MAX_PLAYERS][Brazz_MAX_NOTIFICATIONS] = {100.0, ...};
RE: A include e bem impressionante mesmo, pena que ta com um erro aqui - xbruno1000x - 07/09/2022
(07/09/2022 16:54)LuizFraga Escreveu: invalid expression, assumed zero linha 32
quem souber o erro
Dentro Da Include ta dando esse erro!
Acabei de compilar usando o community compiler 3.10.10.
Link de download:
https://github.com/pawn-lang/compiler/releases
RE: notifications - k2bi_YT - 08/09/2022
Muito bom, isso pode deixar o servidor com uma cara ainda mais profissional e interessante. Parabéns
RE: A include e bem impressionante mesmo, pena que ta com um erro aqui - LuizFraga - 09/09/2022
(07/09/2022 17:24)MarcosBrazz Escreveu: (07/09/2022 16:54)LuizFraga Escreveu: invalid expression, assumed zero linha 32
quem souber o erro
Dentro Da Include ta dando esse erro!
Acabei de testar a compilação com a include em 2 gamemodes com os compiladores versões 3.2.3664 e 3.10.10 e compilou sem nenhum erro.
A linha 32 está entre esse código e não vejo nenhum problema neles dentro da include:
Código: new
Brazz_BarUsed[MAX_PLAYERS][Brazz_MAX_NOTIFICATIONS] = {-1, ...},
Float:Brazz_BarPercent[MAX_PLAYERS][Brazz_MAX_NOTIFICATIONS] = {100.0, ...};
Essa Versão do pawno compiler simplesmente cria varios erros e warnings na gamemode, como seria o adequada a atualização?
simplesmente coloquei os arquivos https://github.com/pawn-lang/compiler/releases da ultima versão na pasta pawno, tem algum problema?
RE: A include e bem impressionante mesmo, pena que ta com um erro aqui - xbruno1000x - 09/09/2022
(09/09/2022 17:49)LuizFraga Escreveu: Essa Versão do pawno compiler simplesmente cria varios erros e warnings na gamemode, como seria o adequada a atualização?
simplesmente coloquei os arquivos https://github.com/pawn-lang/compiler/releases da ultima versão na pasta pawno, tem algum problema?
Esses warnings podem ser desabilitados.
Abaixo das includes:
Código: #pragma warning disable (NUMERO DO WARNING AQUI)
RE: A include e bem impressionante mesmo, pena que ta com um erro aqui - LuizFraga - 09/09/2022
(09/09/2022 18:01)xbruno1000x Escreveu: (09/09/2022 17:49)LuizFraga Escreveu: Essa Versão do pawno compiler simplesmente cria varios erros e warnings na gamemode, como seria o adequada a atualização?
simplesmente coloquei os arquivos https://github.com/pawn-lang/compiler/releases da ultima versão na pasta pawno, tem algum problema?
Esses warnings podem ser desabilitados.
Abaixo das includes:
Código: #pragma warning disable (NUMERO DO WARNING AQUI)
São mais de 1k de warnings e erros, não entendi nada...
|