Citation - Citando jogadores -
F1N4L - 18.07.2018
Mention.inc
Sobre:
Referente a um tуpico de ajuda resolvi fazer esta include, pois achei interessante o propуsito da mesma e... nгo tinha nada melhor para fazer.
Objetivo:
Esta include tem como objetivo realizar citaзхes no chat como o Discord.
Configuraзгo:
Код:
MAX_MENTION = Nъmero mбximo de citaзхes que serгo processadas em uma string.
BLOCKED_MENTION_TEXT = String/Char que serб mostrado na citaзгo de um jogador que foi bloqueado por outro.
Funзхes:
Realiza a citaзгo.
PHP код:
GetMention(str[], out_str[], playerid = INVALID_PLAYER_ID)
Parвmetros:
str = String que contenha citaзхes.
out_str = String que serб passada por referкncia com as modificaзхes de citaзгo.
playerid = Parвmetro opcional. Caso este parвmetro seja utilizado, a callback OnPlayerCitePlayer serб chamada.
Bloqueia um jogador, impedindo que o mesmo o mencione na mensagem.
PHP код:
PlayerBlockPlayerMention(playerid, targetid, bool:toggle)
Parвmetros:
playerid = ID do jogador que irб bloquear.
targetid = ID do jogador que serб bloqueado.
bool:toggle = True para bloquear um jogador e False para desbloquear.
Retorna True se o playerid bloqueou o targetid e False caso contrбrio.
PHP код:
IsPlayerBlockedMentionForPlayer(playerid, targetid)
Parвmetros:
playerid = ID do jogador que bloqueou.
targetid = ID do jogador que foi bloqueado.
Callback's:
Chamado quando um jogador cita outro. (Apenas os jogadores que nгo foram bloquados.)
PHP код:
OnPlayerMentionPlayer(playerid, citedid, bool:blocked)
Parвmetros:
playerid = ID do jogador que realizou a citaзгo.
citedid = ID do jogador citado.
bool:blocked = True caso o jogador (citedid) esteja bloqueado e False caso contrбrio.
Download:
Link
Crйditos:
SAMP Team
F1N4L
Re: Citation - Citando jogadores -
BrunoBM23 - 18.07.2018
PHP код:
static stock IsNumber(str[])
A funзгo й interna e й utilizada, vocк nгo precisa da keyword stock.
https://sampforum.blast.hk/showthread.php?tid=570635
PHP код:
forward OnPlayerCitePlayer(playerid, citedid);
forward OnPlayerCiteBlockedPlayer(playerid, citedid);
if(playerid != INVALID_PLAYER_ID)
{
if(blockedPlayer[id][playerid])
OnPlayerCiteBlockedPlayer(playerid, id);
else
OnPlayerCitePlayer(playerid, id);
}
Nгo vejo a necessidade de duas callbacks. Vocк mesmo jб providenciou uma funзгo para verificar se o jogador estб bloqueado.
O nome da include e das callbacks й meio ambнguo, OnPlayerTagPlayer ou OnPlayerMentionPlayer ficaria melhor.
Re: Citation - Citando jogadores -
F1N4L - 18.07.2018
Quote:
Originally Posted by BrunoBM23
|
Keyword removida.
Quote:
Originally Posted by BrunoBM23
PHP код:
forward OnPlayerCitePlayer(playerid, citedid); forward OnPlayerCiteBlockedPlayer(playerid, citedid);
if(playerid != INVALID_PLAYER_ID) { if(blockedPlayer[id][playerid]) OnPlayerCiteBlockedPlayer(playerid, id); else OnPlayerCitePlayer(playerid, id); }
Nгo vejo a necessidade de duas callbacks. Vocк mesmo jб providenciou uma funзгo para verificar se o jogador estб bloqueado.
|
Tem razгo. Reformulei e fiz em uma sу, adicionando um parвmetro booleano que retorna se o jogador estб bloqueado para outro.
Quote:
Originally Posted by BrunoBM23
O nome da include e das callbacks й meio ambнguo, OnPlayerTagPlayer ou OnPlayerMentionPlayer ficaria melhor.
|
Juro que pensei em usar 'Mention', mas por alguma razгo nгo o fiz.
Reformulei as nomenclaturas.