Portal SAMP
[Ajuda] Frase vip ao logar - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Frase vip ao logar (/showthread.php?tid=1980)

Páginas: 1 2


Frase vip ao logar - fear - 26/12/2021

boa noite. estou tentando colocar a frase de conectou-se ao servidor do vip pois o vip tem o cmd /frase que ele pode digitar uma frase de sua escolha para aparecer quando ele conecta no servidor.. porém quando eu coloco junto com a do servidor global buga..

CMD:
FRASE
Código PHP:
CMD:frase(playeridparams[])
{
    if(
ContaPlayer[playerid][VipLevel] < 2)
        return 
Msg(playeridVermelho"<!> {FFFFFF}Comando exclusivo para Jogador Sócio!");

    if(
isnull(params))
        return 
Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Frase [ Mensagem ]");

    if(
strlen(params) > 15)
        return 
Msg(playeridVermelho"<!> {FFFFFF}Frase muita extensa, diminua os caracteres!");

    
format(ContaPlayer[playerid][Frase_Vip], 15"%s"params);

    new 
mensagem[61 15];

    
format(mensagemsizeof(mensagem), "<!> {FFFFFF}Você alterou sua frase de Login para: {abaeb2}%s!"params);

    
SendClientMessage(playeridVerdemensagem);

    return 
1;

Código PHP:
OBSTEM VIP E SÓCIO

ONPLAYERCONNECT 
FRASE VIP
 
if(ContaPlayer[playerid][VipLevel] < || ContaPlayer[playerid][VipLevel] > && isnull(ContaPlayer[playerid][Frase_Vip]) )
                    
format(Stringsizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/60{FFFFFF})"CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());

ONPLAYERCONNECT FRASE GLOBAL
format(Stringsizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )"Nome(playerid), playeridConnectedPlayers());
    
MsgToAll(cortagString); 

Ou não aparece a frase do vip ao lado de conectou-se ou não aparece ambas as frases de conectou-se... tentei if else e nada..


RE: Frase vip ao logar - xbruno1000x - 26/12/2021

(26/12/2021 00:44)fear Escreveu: boa noite. estou tentando colocar a frase de conectou-se ao servidor do vip pois o vip tem o cmd /frase que ele pode digitar uma frase de sua escolha para aparecer quando ele conecta no servidor.. porém quando eu coloco junto com a do servidor global buga..

CMD:
FRASE
Código PHP:
CMD:frase(playeridparams[])
{
    if(
ContaPlayer[playerid][VipLevel] < 2)
    
    return Msg(playeridVermelho"<!> {FFFFFF}Comando exclusivo para Jogador Sócio!");

    if(
isnull(params))
        return 
Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Frase [ Mensagem ]");

    if(
strlen(params) > 15)
        return 
Msg(playeridVermelho"<!> {FFFFFF}Frase muita extensa, diminua os caracteres!");

    
format(ContaPlayer[playerid][Frase_Vip], 15"%s"params);

    new 
mensagem[61 15];

    
format(mensagemsizeof(mensagem), "<!> {FFFFFF}Você alterou sua frase de Login para: {abaeb2}%s!"params);

    
SendClientMessage(playeridVerdemensagem);

    return 
1;

Código PHP:
OBSTEM VIP E SÓCIO

ONPLAYERCONNECT 
FRASE VIP
 
if(ContaPlayer[playerid][VipLevel] < || ContaPlayer[playerid][VipLevel] > && isnull(ContaPlayer[playerid][Frase_Vip]) )
    
                format(Stringsizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/60{FFFFFF})"CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());

ONPLAYERCONNECT FRASE GLOBAL
format(Stringsizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )"Nome(playerid), playeridConnectedPlayers());
    
MsgToAll(cortagString); 

Ou não aparece a frase do vip ao lado de conectou-se ou não aparece ambas as frases de conectou-se... tentei if else e nada..

Por que não utilizou essa função?
https://open.mp/pt/docs/scripting/functions/SendClientMessageToAll

Segundamente, tente utilizar o código na OnPlayerSpawn, pois na OnPlayerConnect as variáveis não costumam ter sido atribuídas ainda.

Além disso a condicional está incorreta.


RE: Frase vip ao logar - fear - 26/12/2021

(26/12/2021 00:56)xbruno1000x Escreveu:
(26/12/2021 00:44)fear Escreveu: boa noite. estou tentando colocar a frase de conectou-se ao servidor do vip pois o vip tem o cmd /frase que ele pode digitar uma frase de sua escolha para aparecer quando ele conecta no servidor.. porém quando eu coloco junto com a do servidor global buga..

CMD:
FRASE
Código PHP:
CMD:frase(playeridparams[])
{
    if(
ContaPlayer[playerid][VipLevel] < 2)
    
    return Msg(playeridVermelho"<!> {FFFFFF}Comando exclusivo para Jogador Sócio!");

    if(
isnull(params))
        return 
Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Frase [ Mensagem ]");

    if(
strlen(params) > 15)
        return 
Msg(playeridVermelho"<!> {FFFFFF}Frase muita extensa, diminua os caracteres!");

    
format(ContaPlayer[playerid][Frase_Vip], 15"%s"params);

    new 
mensagem[61 15];

    
format(mensagemsizeof(mensagem), "<!> {FFFFFF}Você alterou sua frase de Login para: {abaeb2}%s!"params);

    
SendClientMessage(playeridVerdemensagem);

    return 
1;

Código PHP:
OBSTEM VIP E SÓCIO

ONPLAYERCONNECT 
FRASE VIP
 
if(ContaPlayer[playerid][VipLevel] < || ContaPlayer[playerid][VipLevel] > && isnull(ContaPlayer[playerid][Frase_Vip]) )
    
                format(Stringsizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/60{FFFFFF})"CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());

ONPLAYERCONNECT FRASE GLOBAL
format(Stringsizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )"Nome(playerid), playeridConnectedPlayers());
    
MsgToAll(cortagString); 

Ou não aparece a frase do vip ao lado de conectou-se ou não aparece ambas as frases de conectou-se... tentei if else e nada..

Por que não utilizou essa função?
https://open.mp/pt/docs/scripting/functions/SendClientMessageToAll

Segundamente, tente utilizar o código na OnPlayerSpawn, pois na OnPlayerConnect as variáveis não costumam ter sido atribuídas ainda.

Além disso a condicional está incorreta.

Eu fiz no onplayerspawn assim:

Código PHP:
if(ContaPlayer[playerid][VipLevel] < || ContaPlayer[playerid][VipLevel] > && isnull(ContaPlayer[playerid][Frase_Vip]))
    {
    
format(Stringsizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})"CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
    
SendClientMessageToAll(0xFF444499String);
     }
     else
     {
    
format(Stringsizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )"Nome(playerid), playeridConnectedPlayers());
    
MsgToAll(cortagString);
    } 

Agora ele mostra a frase que deveria ser do vip e do sócio pra player que registra e pra player sócio mostra a frase que deveria mostrar pra player normal.


RE: Frase vip ao logar - fear - 27/12/2021

Tentei mudar funcionou uma parte.. eu setei sócio(é o level do vip que tem o /frase)
reloguei e mostrou a frase do vip conectado porém quando eu coloquei a frase e reloguei dnv ele mostrou a frase padrão pra qualquer player que esta depois do else

tb eu queria que quando não tivesse a frase ele mostrasse sem o > () pra não ficar em branco tb.

Código PHP:
    if(ContaPlayer[playerid][VipLevel] > && isnull(ContaPlayer[playerid][Frase_Vip]))
    {
///FRASE VIP SÓCIO
    
format(Stringsizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})"CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
    
SendClientMessageToAll(0xFF444499String);
    }
    else
    { 
///FRASE PADRÃO PLAYER
    
format(Stringsizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )"Nome(playerid), playeridConnectedPlayers());
    
MsgToAll(cortagString);
    } 



RE: Frase vip ao logar - xbruno1000x - 27/12/2021

Código:
    if(ContaPlayer[playerid][VipLevel] != 0 && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else { //FRASE PADRÃO PLAYER
        format(String, sizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )", Nome(playerid), playerid, ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    }

Tente dessa forma


RE: Frase vip ao logar - fear - 27/12/2021

(27/12/2021 11:55)xbruno1000x Escreveu:
Código:
    if(ContaPlayer[playerid][VipLevel] != 0 && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else { //FRASE PADRÃO PLAYER
        format(String, sizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )", Nome(playerid), playerid, ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    }

Tente dessa forma

Pegou certinho agora e deixei no onplayerspawn.. porém.. agora só mostra quando o vip conecta se ele tem a frase.. teria q fazer outra IF pra quando ele não tem a frase mostrar que o vip sócio conectou?


RE: Frase vip ao logar - xbruno1000x - 27/12/2021

Código:
    if(ContaPlayer[playerid][VipLevel] != 0 && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else if(ContaPlayer[playerid][VipLevel] == 0 || isnull(ContaPlayer[playerid][Frase_Vip])){ //FRASE PADRÃO PLAYER
        format(String, sizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )", Nome(playerid), playerid, ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    }

qualquer problema de condição pode ser resolvido alterando as if's. basta você compreender o que está sendo escrito.


RE: Frase vip ao logar - fear - 30/12/2021

(27/12/2021 17:01)xbruno1000x Escreveu:
Código:
    if(ContaPlayer[playerid][VipLevel] != 0 && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else if(ContaPlayer[playerid][VipLevel] == 0 || isnull(ContaPlayer[playerid][Frase_Vip])){ //FRASE PADRÃO PLAYER
        format(String, sizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )", Nome(playerid), playerid, ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    }

qualquer problema de condição pode ser resolvido alterando as if's. basta você compreender o que está sendo escrito.

Esse jeito não funciou.. aparece sempre a mesma frase global de todo player, mesmo o sócio colocando a frase pelo /frase


RE: Frase vip ao logar - xbruno1000x - 30/12/2021

Código:
    if(ContaPlayer[playerid][VipLevel] != 0 && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else if(ContaPlayer[playerid][VipLevel] == 0) { //FRASE PADRÃO PLAYER
        format(String, sizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )", Nome(playerid), playerid, ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    }

caso não funcione, vai tentando por tentativa e erro até achar uma condicional que funcione


RE: Frase vip ao logar - fear - 30/12/2021

(30/12/2021 02:02)xbruno1000x Escreveu:
Código:
    if(ContaPlayer[playerid][VipLevel] != 0 && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else if(ContaPlayer[playerid][VipLevel] == 0) { //FRASE PADRÃO PLAYER
        format(String, sizeof(String), "{FFFFFF}%s (%d) {7E6FAE}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )", Nome(playerid), playerid, ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    } else {
        format(String, sizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online ({A9A9A9}%d/50{FFFFFF})", CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        SendClientMessageToAll(0xFF444499, String);
    }

caso não funcione, vai tentando por tentativa e erro até achar uma condicional que funcione



Cara fiquei até agora tentando aqui.. e nada coloquei de tudo quanto é jeito.. to quase desistindo desse /frase...

TENTEI ASSIM E SÓ MOSTRA A FRASE PLAYER PADRÃO....
Código PHP:
if(ContaPlayer[playerid][VipLevel] != && !isnull(ContaPlayer[playerid][Frase_Vip])) //FRASE VIP SÓCIO
    
{
        } else  if(
ContaPlayer[playerid][VipLevel] == 2) { //FRASE PADRÃO PLAYER
           
format(Stringsizeof(String), "{FFFFFF}O {abaeb2}%s {FFFFFF}%s {32CD32}Está Online > {FFFFFF}( {A9A9A9}%s {FFFFFF}) ({A9A9A9}%d/50{FFFFFF})"CategoriaVip(playerid), Nome(playerid), ContaPlayer[playerid][Frase_Vip], ConnectedPlayers());
        
SendClientMessageToAll(0xFF444499String);
        } else {
        
format(Stringsizeof(String), "{FFFFFF}%s (%d) {90EE90}Conectou-se no servidor {FFFFFF}( {7E6FAE}%d/50{FFFFFF} )"Nome(playerid), playeridConnectedPlayers());
        
SendClientMessageToAll(0xFF444499String);
     
    }