[Ajuda] Texto (Rбpida)
#1

Estou com problemas em meu texto. Desejo que o presidiбrio ao falar no chat, apareзa a TAG [PRESIDIБRIO] logo antes do nick. Fiz a funзгo, porйm estб repetindo. O que eu faзo para nгo repetir? O que devo usar? O que devo fazer quando isso ocorrer? Gostaria de uma explicaзгo.

Код:
	            		if(IsPlayerInRangeOfPoint(i, 20.0, chatX, chatY, chatZ))
						{
							if(pInfo[playerid][Preso] > 0)
							{
								format(cstring, sizeof(cstring), "[PRISIONEIRO] %s diz: %s", GetName(playerid, true), text);
								SendClientMessage(i, COLOR_FADE3, cstring);
							}
							format(cstring, sizeof(cstring), "%s diz: %s", GetName(playerid, true), text);
							SendClientMessage(i, COLOR_FADE1, cstring);
						}
Reply
#2

PHP код:
if(pInfo[playerid][Preso] > 0)
{
    
format(cstringsizeof(cstring), "[PRISIONEIRO] %s diz: %s"GetName(playeridtrue), text);
    
SendClientMessage(iCOLOR_FADE3cstring);
    return 
false;

Basta retornar falso para que nгo dк continuidade na callback.
Reply
#3

Vou mostrar como eu fiz no sistema de Login que eu fiz

PHP код:
public OnPlayerText(playeridtext[])
{
    new 
name[MAX_PLAYER_NAME]; //Procedimentos da callback
    
GetPlayerName(playeridnamesizeof(name));
    new 
strmsg[170];
    if(
strlen(text) > sizeof(strmsg)) return SendClientMessage(playerid, -1"Mensagem muito grande");
    if(
DesLog[playerid] == 0){
        
format(strmsgsizeof(strmsg), "%s{00FA9A}[Noob/Guest]{ffffff}: %s"nametext); //Formating
         
SendClientMessageToAll(-1strmsg); return 0//Send to all
    
}
    if(
DesLog[playerid] == 1){
        
format(strmsgsizeof(strmsg), "%s{FF1493}[Deslogado]{ffffff}: %s"nametext);
        
SendClientMessageToAll(-1strmsg); return 0;
    }
    if(
DesLog[playerid] == 2){
        
format(strmsgsizeof(strmsg), "%s{00FFFF}[Logado]{ffffff}: %s"nametext);
         
SendClientMessageToAll(-1strmsg); return 0;
    }
    return 
1;

Reply
#4

Quote:
Originally Posted by FallweN
Посмотреть сообщение
PHP код:
if(pInfo[playerid][Preso] > 0)
{
    
format(cstringsizeof(cstring), "[PRISIONEIRO] %s diz: %s"GetName(playeridtrue), text);
    
SendClientMessage(iCOLOR_FADE3cstring);
    return 
false;

Basta retornar falso para que nгo dк continuidade na callback.
Faзa oque o FallweN disse.
Reply
#5

Уtimo. Obrigado.
Reply
#6

Bom, peguei uma base que tenho na GM. Aqui serve para todos os cargos!
new
Float:chatX, Float:chatY, Float:chatZ
;
GetPlayerPos( playerid, chatX, chatY, chatZ );
//--------------------------------------------//
if( aInfo[ playerid ][ SUA_VARIAVEL ] == 1 )
{
strmid( tmp, text, 0, strlen( text ));
format( gstring, sizeof( gstring ), "%s[%d] {FFFFFF}[{3366FF}PRESIDIARIO{FFFFFF}]{FFFFFF}: %s", GetName( playerid ), playerid, tmp );

if( pInfo[ playerid ][ chat ] == 0 )
{
if( IsPlayerInRangeOfPoint( i, 15.0, chatX, chatY, chatZ ))
{
SendClientMessage( i, GetPlayerColor( playerid ), gstring );
}
}
if( pInfo[ playerid ][ chat ] == 1 )
{
SendClientMessage( i, GetPlayerColor( playerid ), gstring );
}
}
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)