[Ajuda] Problema em comandos '-'
#1

Boa Tarde.
Estou comparecendo aqui, pois meus comandos de "SmS" e "Chat Prуximo" estгo a dar problemas

Vejam as imagems;

Imagem do Chat Prуximo;

Como sai;

O problema deste й que o que o player digita nгo sai, somente a ultima letra...
Cуdigo;
PHP код:
CMD:p(playeridparams[])
{
    new 
str[128], proximo[128];
    
strmid(proximoparams2strlen(params));
    if(!
strlen(proximo))
    {
       
SendClientMessage(playerid0x00CCCCAA"Uso: /p [mensagem]");
       return 
1;
    }
    else
    {
       for(new 
P=0MAX_PLAYERSP++)
       {
          if(
GetDistanceBetweenPlayers(playeridP) < 25)
          {
             
format(strsizeof(str), "(Chat Prуximo) %s diz: %s"Nome(playerid), proximo);
             
SendClientMessage(P0x00EE00AAstr);
             }
          }
       }
       return 
1;

__________________________________________________ __________________________

SmS;

Como sai:

Nesse os problemas sгo dois, o "SmS recebido" era para ir para o id que eu digitei no chat, e nгo para mim mesmo, e tambйm nгo estб indo a mensagem que eu digito. :/
Cуdigo;

PHP код:
CMD:sms(playeridparams[])
{
    new 
tmp[50], idxstring[128];
    new 
giveplayerid;
    
tmp strtok(params,idx);
    if(!
strlen(tmp) || strlen(tmp) > 5)
    {
       
SendClientMessage(playerid, -1"{FFFE10}|| INFO ||{FFFFFF} Uso: /pm [id] [mensagem]");
       return 
1;
    }
    new 
gMessage[128];
    
gMessage strrest(params,idx);
    if(!
strlen(gMessage))
    {
       
SendClientMessage(playerid, -1"{FFFE10}|| INFO ||{FFFFFF} Uso: /pm [id] [mensagem]");
       return 
1;
    }
    else
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
IsPlayerConnected(giveplayerid))
            {
                
GetPlayerName(playeridplayernamesizeof(playername));
                
GetPlayerName(giveplayeridgiveplayernamesizeof(giveplayername));
                
format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Enviado para: %s: %s"giveplayernametexto);
                
SendClientMessage(playerid,-1,string);
                
format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Recebido de: %s: %s"playernametexto);
                
SendClientMessage(giveplayerid,-1,string);
                
PlayerPlaySound(giveplayerid10850.00.00.0);
                
printf("SmS: %s envio para %s: %s"playernamegiveplayernametexto);
                for(new 
iMAX_PLAYERSi++)
                {
                    if(
IsPlayerAdmin(playerid) && LerPms[i] == true)
                    {
                        
format(stringsizeof(string), "{FF8000}|| Admin || %s envio para %s: %s"playernamegiveplayernametexto);
                        
SendClientMessage(i, -1string);
                    }
                }
            }
            else
            {
                
format(stringsizeof(string), "{FF0000}|| ERRO ||{FFFFFF} O ID %d nгo estб online."giveplayerid);
                
SendClientMessage(playerid, -1string);
            }
        }
        else
        {
            
SendClientMessage(playerid, -1"{FF0000}|| ERRO ||{FFFFFF} Vocк tem que estб logado para usar este comando!");
        }
    }
    return 
1;

Porfavor alguйm ajuda, e se nгo for pedir muito, colocar explicaзгo aonde errei.
Grato, espero respostas.
Reply
#2

Up...
Reply
#3

nunca usei sscanf, mais o 1є comando eu resolvi
PHP код:
CMD:p(playeridparams[])
{
    new 
str[128], proximo;
    if(
sscanf(params"s"proximo))return SendClientMessage(playerid0x00CCCCAA"Uso: /p [mensagem]");
       for(new 
P=0MAX_PLAYERSP++)
       {
          if(
GetDistanceBetweenPlayers(playeridP) < 25)
        {
               
format(strsizeof(str), "(Chat Prуximo) %s diz: %s"PlayerName(playerid), proximo);
               
SendClientMessage(P0x00EE00AAstr);
        }
    }
    return 
true;

Reply
#4

Cуdigos bagunзados '-'
PHP код:
@Edit '-'
CMD:p(playeridparams[])
{
    new 
t[128], String[50];
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1"Nгo estб online");
    if(
sscanf(params"us"IDt)) return SendClientMessage(playerid, -1,"Use /p [ID] [texto]");
    
format(Stringsizeof(String), "Particular de {E0D01B}%s{FFFF00}: %s"Nome(playerid), t);
    
SendClientMessage(ID, -1String);
    
format(Stringsizeof(String), "Particular enviada com sucesso para %s"Nome(ID));
    
SendClientMessage(playerid, -1String);
    return 
1;
}
//---------------------------------//
CMD:sms(playeridparams[])
{
    new 
idtextostring[75];
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1"Nгo estб online !");
    if(
sscanf(params"us"id,texto)) return SendClientMessage(playerid,-1,"Use: /sms [ID/Nome] [Texto]");
     if(
IsPlayerConnected(ID))
      {
          
format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Enviado para: %s: %s"Nome(ID), texto);
           
SendClientMessage(playerid,-1,string);
        
format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Recebido de: %s: %s"Nome(playerid), texto);
        
SendClientMessage(ID,-1,string);
        
PlayerPlaySound(ID10850.00.00.0);
        
printf("SmS: %s envio para %s: %s"Nome(playerid), Nome(ID), texto);
        for(new 
iMAX_PLAYERSi++)
        {
            if(
IsPlayerAdmin(playerid) && LerPms[i] == true)
             {
                  
format(stringsizeof(string), "{FF8000}|| Admin || %s envio para %s: %s"Nome(playerid), Nome(ID), texto);
                
SendClientMessage(i, -1string);
            }
            else
            {
                
format(stringsizeof(string), "{FF0000}|| ERRO ||{FFFFFF} O ID %d nгo estб online."Nome(ID));
                
SendClientMessage(playerid, -1string);
            }
        }
        else
        {
            
SendClientMessage(playerid, -1"{FF0000}|| ERRO ||{FFFFFF} Vocк tem que estб logado para usar este comando!");
        }
    }
    return 
1;

Reply
#5

PHP код:
CMD:p(playeridparams[])
{
    if(!
strlen(params)) return SendClientMessage(playerid0x00CCCCAA"Uso: /p [mensagem]");
    
format(params128"(Chat Prуximo) %s diz: %s"Nome(playerid), params);
    static 
i;
    for(
GetMaxPlayers(); > -1; --i)
    {
       if(
GetDistanceBetweenPlayers(playeridi) < 25)
       {
         
SendClientMessage(i0x00EE00AAparams);
       }
    }
    return 
1;

Reply
#6

Ali nгo estб em sscanf, ta em strtok.
Eu nгo estou podendo usar sscanf em meu servidor, o comando nгo funciona, pedi ajuda de tudo quanter jeito, e nгo resolveu.
Alguйm ajuda.. Comando em strtok ._.
Reply
#7

UP... '-'
Reply
#8

Esse comando /p nem precisa de sscanf, pode usar isnull.
Reply
#9

'-'
Reply
#10

Quote:
Originally Posted by Life Advanced
Посмотреть сообщение
Cуdigos bagunзados '-'
PHP код:
@Edit '-'
CMD:p(playeridparams[])
{
    new 
t[128], String[50];
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1"Nгo estб online");
    if(
sscanf(params"us"IDt)) return SendClientMessage(playerid, -1,"Use /p [ID] [texto]");
    
format(Stringsizeof(String), "Particular de {E0D01B}%s{FFFF00}: %s"Nome(playerid), t);
    
SendClientMessage(ID, -1String);
    
format(Stringsizeof(String), "Particular enviada com sucesso para %s"Nome(ID));
    
SendClientMessage(playerid, -1String);
    return 
1;
}
//---------------------------------//
CMD:sms(playeridparams[])
{
    new 
idtextostring[75];
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1"Nгo estб online !");
    if(
sscanf(params"us"id,texto)) return SendClientMessage(playerid,-1,"Use: /sms [ID/Nome] [Texto]");
     if(
IsPlayerConnected(ID))
      {
          
format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Enviado para: %s: %s"Nome(ID), texto);
           
SendClientMessage(playerid,-1,string);
        
format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Recebido de: %s: %s"Nome(playerid), texto);
        
SendClientMessage(ID,-1,string);
        
PlayerPlaySound(ID10850.00.00.0);
        
printf("SmS: %s envio para %s: %s"Nome(playerid), Nome(ID), texto);
        for(new 
iMAX_PLAYERSi++)
        {
            if(
IsPlayerAdmin(playerid) && LerPms[i] == true)
             {
                  
format(stringsizeof(string), "{FF8000}|| Admin || %s envio para %s: %s"Nome(playerid), Nome(ID), texto);
                
SendClientMessage(i, -1string);
            }
            else
            {
                
format(stringsizeof(string), "{FF0000}|| ERRO ||{FFFFFF} O ID %d nгo estб online."Nome(ID));
                
SendClientMessage(playerid, -1string);
            }
        }
        else
        {
            
SendClientMessage(playerid, -1"{FF0000}|| ERRO ||{FFFFFF} Vocк tem que estб logado para usar este comando!");
        }
    }
    return 
1;

Nгo funciona, todos os comandos que utiliza sscanf fica dando o mesmo problema;
Mesmo eu digitando corretamente;


Quando dou enter para confirmar o que digitei e executar o comando acontece isto;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)