SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 18/07/2018, 08:23 PM   #1
F1N4L
High-roller
 
F1N4L's Avatar
 
Join Date: Jun 2013
Location: Brazil
Posts: 2,685
Reputation: 246
Default Citation - Citando jogadores

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:
Code:
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 Code:
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 Code:
PlayerBlockPlayerMention(playeridtargetidbool: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 Code:
IsPlayerBlockedMentionForPlayer(playeridtargetid
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 Code:
OnPlayerMentionPlayer(playeridcitedidbool: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

Last edited by F1N4L; 18/07/2018 at 09:26 PM. Reason: Update
F1N4L is offline   Reply With Quote
Old 18/07/2018, 08:46 PM   #2
BrunoBM23
Banned
 
Join Date: Mar 2018
Posts: 54
Reputation: 97
Default Re: Citation - Citando jogadores

PHP Code:
static stock IsNumber(str[]) 
A função é interna e é utilizada, você não precisa da keyword stock. http://forum.sa-mp.com/showthread.php?t=570635

PHP Code:
forward OnPlayerCitePlayer(playeridcitedid);
forward OnPlayerCiteBlockedPlayer(playeridcitedid);

if(
playerid != INVALID_PLAYER_ID)
{
    if(
blockedPlayer[id][playerid])
        
OnPlayerCiteBlockedPlayer(playeridid);
    else
        
OnPlayerCitePlayer(playeridid);

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.
BrunoBM23 is offline   Reply With Quote
Old 18/07/2018, 09:22 PM   #3
F1N4L
High-roller
 
F1N4L's Avatar
 
Join Date: Jun 2013
Location: Brazil
Posts: 2,685
Reputation: 246
Default Re: Citation - Citando jogadores

Quote:
Originally Posted by BrunoBM23 View Post
PHP Code:
static stock IsNumber(str[]) 
A função é interna e é utilizada, você não precisa da keyword stock. http://forum.sa-mp.com/showthread.php?t=570635
Keyword removida.


Quote:
Originally Posted by BrunoBM23 View Post
PHP Code:
forward OnPlayerCitePlayer(playeridcitedid);
forward OnPlayerCiteBlockedPlayer(playeridcitedid);

if(
playerid != INVALID_PLAYER_ID)
{
    if(
blockedPlayer[id][playerid])
        
OnPlayerCiteBlockedPlayer(playeridid);
    else
        
OnPlayerCitePlayer(playeridid);

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 View Post
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.
F1N4L is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Quantidade de Jogadores JuninTJF Português/Portuguese 4 28/12/2015 07:04 PM
[Ajuda] Jogadores de ESC 0.3.7 AzulimZW Português/Portuguese 21 24/05/2015 05:21 AM
[Ajuda] Ver jogadores banidos PetterAdriano Português/Portuguese 6 14/02/2015 08:18 PM
[FilterScript] Eleição de Jogadores Shelby Lançamentos/Releases 25 21/09/2011 09:01 PM


All times are GMT. The time now is 10:47 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.