Anuncie aqui!

[TUT]Mensagem automática

Vai dizer que você nunca quis ter em seu servidor isso para ajudar os jogadores novatos que não conhecem seu servidor, bom irei explicar abaixo como fazer isso:

Para definir a cor das mensagens crie esse define em baixo de #include:
#define AMARELO 0xF6F600AA

Observação:
A cor é de sua escolha.

Agora crie em baixo de #define e #include essa váriavel abaixo:

new MSGs[5][128] = {
"Primeira mensagem",
"Segunda mensagem",
"Terceira mensagem",
"Quarta mensagem",
"Quinta mensagem"
};


Explicando:
MSGs é o nome dá váriavel, [5] é o número de mensagens que tem entre aspas (" "), [128] é a string, recomendo 128, poís o limite do chat é de apenas 128 caracteres, = { é para abrir a chave, explicando melhor é = {"Primeira mensagem",...}; a última mensagem nunca deverá ter vírgula, é que nem fosse um código normal, ...PlayerName(playerid),PlayerName(killerid), a vírgula é apenas para dar continuidade, já que após a última mensagem não terá outra então não precisa vírgula, já que é a última.

Agora para identificar o callback onde será feito a escolha random de mensagens:

forward RandomMSGs();

Agora no callback OnGameModeInit (Ou como preferir, public OnGameModeInit() ):

SetTimer("RandomMSGs",60000,1);

Explicando:
O SetTimer serve para chamar a callback a cada 60000 milesegundos, ou seja 1 minuto, e o 1 quer dizertrue, que irá fazer repetir a cada 1 minuto, 0 é igual a false, que não repete, só chama um callback uma vez, mas dá para fazer repetir usando false.

E agora crie onde quiser o callback, mas não vá criar dentro de outra callback, o erro é certo:

public RandomMSGs()
{
new string[128];
new randMSG = random(sizeof(MSGs));
format(string, sizeof(string), "[SERVER]%s", MSGs[randMSG]);
SendClientMessageToAll(AMARELO,string);
return 1;
}


Explicando:
string é por que a mensagem é string, o randMSG é para escolher a mensagem automáticamente, como já é de se ver o código random(sizeof(MSGs)). Você pode fazer várias coisas random usando isso, random(sizeof(Nome_da_váriavel)). MSGs[randMSG] ele irá enviar as mensagem que está na váriavel criada no topo e escolherá randômicamente a mensagem, SendClientMessageToAll(AMARELO,string), irá enviar a todos a mensagem randômica com a cor amarelo e enviará o string que está na função format.

Espero que vocês tenham entendido.

Créditos:
Criado por: [ENB]Joel

2 comentários

Unknown em 28 de abril de 2015 às 13:46

esse merece meu respeito

Unknown em 12 de outubro de 2021 às 07:40

Onde fica o forward RandomMSGs(); ?

Postar um comentário