(Ayuda) Cmd /llamar no funciona correctamente.
#1

Hola buenas a todos!
Tengo el siguiente problema, en el Gm cual trabajo, a la hora de usar el cmd /llamar , dice que el nъmero marcado es inexistente. No obstante, a la hora de mandar un sms al mismo nъmero funciona correctamente.
El cmd es el siguiente:

PHP код:
CMD:llamar(playeridparams[])
{
    new 
phonenumb strval(params);
     if(
isnull(params)) return SendClientMessageEx(playeridCOLOR_WHITE"* El comando es:{A1A1A1} /llamar [nъmero]");
    if(
PhoneOnline[playerid] > 0) return SendClientMessageEx(playeridCOLOR_GREY"* Telйfono apagado.");
    if(
Info[playerid][pManoDer] != 68) return SendClientMessage(playeridCOLOR_GREY"* No tienes un telйfono en tu mano derecha.");
    if(
Mobile[playerid] != -1) return SendClientMessageEx(playeridCOLOR_GREY"* Cuelga la llamada en la que estбs primero");
    if(
Info[playerid][pJailed] >= 1) return SendClientMessageEx(playeridCOLOR_GREY"* Estas arrestado, no puedes utilizar tu telйfono");
    if(
phonenumb == Info[playerid][pPnumber]) return SendClientMessageEx(playeridCOLOR_GREY"* No puedes llamarte a ti mismo.");
    for(new 
iMAX_PLAYERSi++)
    {
        if(
Info[i][pPnumber] == phonenumb)
        {
            if(
PhoneOnline[i] > 0)
            {
                
SendClientMessageEx(playeridCOLOR_GREY"El mуvil al que quieres llamar ya estб en una llamada.");
                
Mobile[playerid] = -1;
                return 
1;
            }
            if(
Mobile[i] != -1)
            {
                
SendClientMessageEx(playeridCOLOR_GREY"El mуvil al que intentas llamar se encuentra ocupado.");
                
Mobile[playerid] = -1;
                return 
1;
            }
            if(
Mobile[i] == -1)
            {
                new 
string[256];
                
SetPlayerSpecialAction(playeridSPECIAL_ACTION_USECELLPHONE);
                
format(stringsizeof(string), "Tu telefono estб sonando - Usa /contestar para atender la llamada. [Nъmero: %d]"Info[playerid][pPnumber]);
                
SendClientMessageEx(iCOLOR_GRAD1string);
                
format(stringsizeof(string), "* El telйfono de %s suena."GetPlayerNameEx(i));
                
SendClientMessageEx(playeridCOLOR_WHITE"Para hablar por el telйfono escribe por el chat");
                
ProxDetector(15.0istringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                
CellTime[playerid] = 1;
                
Mobile[playerid] = i;
                return 
1;
            }
        }
        else
        {
            for(new 
x08x++)
            {
                   if(
Info[i][pBolCant][x] == phonenumb)
                {
                    new 
string[256];
                    
format(stringsizeof(string), "Tu telefono de nъmero %d estб sonando - Sбcalo del bolsillo (/bol) y usa (/contestar). [Nъmero: %d]"phonenumb,Info[playerid][pPnumber]);
                    
SendClientMessageEx(iCOLOR_GREYstring);
                    
SendClientMessageEx(playeridCOLOR_WHITE"Para hablar por el telйfono escribe por el chat");
                    
CellTime[i] = 1;
                    
Mobile[playerid] = i;
                    return 
1;
                }
                else
                {
                    
SendClientMessageEx(playeridCOLOR_WHITE"El nъmero ingresado no existe.");
                    return 
1;
                }
            }
        }
    }
    return 
1;

A que se puede deber el problema? No sй, si parte del problema estб arraigado, a que el sistema de telefonos de mi servidor es a base del sistema de bolsillos. Evidentemente se estбn moviendo, se puede tener mбs de uno etc. Desconozco si esto puede tener que ver.

Gracias desde ya.
Reply
#2

Ya te dije que debes ponerlo entre cуdigos o PHP, como quieras.

2.- No veo ningъn sscanf o de dуnde sacas el parбmetro, en otras palabras...


PHP код:
new phonenumb;
if(
sscanf(params"d"phonenumb)) return SendClientMessage(playerid, -1"Usa /llamar [numero]"); 
Reply
#3

haz marcado un numero que no corresponde. xD
Reply
#4

Quote:
Originally Posted by Choidito
Посмотреть сообщение
Ya te dije que debes ponerlo entre cуdigos o PHP, como quieras.

2.- No veo ningъn sscanf o de dуnde sacas el parбmetro, en otras palabras...


PHP код:
new phonenumb;
if(
sscanf(params"d"phonenumb)) return SendClientMessage(playerid, -1"Usa /llamar [numero]"); 
їSe supone que debo agregarlo al cуdigo en cuestiуn? Si es el caso, no funcionу :/
Gracias por la respuesta y perdуn por la ignorancia.
Reply
#5

pawn Код:
CMD:llamar(playerid, params[])
{
    new phonenumb,  string[128];
    if(sscanf(params, "d", phonenumb))          return SendClientMessageEx(playerid, COLOR_WHITE, "* El comando es:{A1A1A1} /llamar [nъmero]");
    if(PhoneOnline[playerid] > 0)               return SendClientMessageEx(playerid, COLOR_GREY, "* Telйfono apagado.");
    if(Info[playerid][pManoDer] != 6            return SendClientMessage(playerid, COLOR_GREY, "* No tienes un telйfono en tu mano derecha.");
    if(Mobile[playerid] != -1)                  return SendClientMessageEx(playerid, COLOR_GREY, "* Cuelga la llamada en la que estбs primero");
    if(Info[playerid][pJailed] >= 1)            return SendClientMessageEx(playerid, COLOR_GREY, "* Estas arrestado, no puedes utilizar tu telйfono");
    if(phonenumb == Info[playerid][pPnumber])   return SendClientMessageEx(playerid, COLOR_GREY, "* No puedes llamarte a ti mismo.");
    for(new i = 0; i<GetMaxPlayers();i++)
    {
        if(Info[i][pPnumber] == phonenumb)
        {
            if(PhoneOnline[i] > 0)
            {
                SendClientMessageEx(playerid, COLOR_GREY, "El mуvil al que quieres llamar ya estб en una llamada.");
                Mobile[playerid] = -1;
                return 1;
            }
            if(Mobile[i] != -1)
            {
                SendClientMessageEx(playerid, COLOR_GREY, "El mуvil al que intentas llamar se encuentra ocupado.");
                Mobile[playerid] = -1;
                return 1;
            }
            if(Mobile[i] == -1)
            {
                new string[256];
                SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
                format(string, sizeof(string), "Tu telefono estб sonando - Usa /contestar para atender la llamada. [Nъmero: %d]", Info[playerid][pPnumber]);
                SendClientMessageEx(i, COLOR_GRAD1, string);
                format(string, sizeof(string), "* El telйfono de %s suena.", GetPlayerNameEx(i));
                SendClientMessageEx(playerid, COLOR_WHITE, "Para hablar por el telйfono escribe por el chat");
                ProxDetector(15.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
                CellTime[playerid] = 1;
                Mobile[playerid] = i;
                return 1;
            }
        }
    }
    return 1;
}
Reply
#6

Ahora tengo el siguiente problema: Yo llamу a un usuario, y me dice que el numero no existe (se mantiene) no obstante, si otro user me llama, se conecta. Y si otro otro user(?) llama al primer user tampoco el deja no sй porquй se supone esto :_
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)