SA-MP Forums Archive
[AYUDA]No se desactiva la SPECIAL_ACTION - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [AYUDA]No se desactiva la SPECIAL_ACTION (/showthread.php?tid=532106)



[AYUDA]No se desactiva la SPECIAL_ACTION - chusothe41 - 16.08.2014

Lo dicho en el titulo, he probado a crear un timer y hacerle tener la animacion de colgar, he probado a ponerle en el timer la special action none y he probado sin timer y nada.

Aunque no exista el numero de telefono no lo cuelga

pawn Код:
YCMD:llamar(playerid, params[], help)
{
    if(!sscanf(params, "i", params[0]))
    {
        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(PlayerInfo[i][pTelefono] == params[0] && i != playerid)
            {
                new llamador[256], llamado[256];
                format(llamador, sizeof(llamador), "%s saca el telefono", GetName(playerid));
                ProxDetector2(30, playerid, llamador,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);
                if(!IsPlayerConnected(i))
                {
                    new noconectado[256];
                    format(noconectado, sizeof(noconectado), "%s guarda el telefono", GetName(playerid));
                    ProxDetector2(30, playerid, noconectado,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);
                    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                    SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El telefono se encuentra apagado o fuera de covertura, intentelo de nuevo mбs tarde");
                }
                else
                {
                    SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"Llamando");
                    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                }
                break;
            }
            else
            {
                SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El numero al que llama no existe");
                SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
                break;
            }
        }
    }
    else SendClientMessage(playerid, COL_AYUDA, "Uso: "COL_WHITE"/llamar [numero]");
    return 1;
}



Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - OTACON - 16.08.2014

pawn Код:
YCMD:llamar(playerid, params[], help){
    new numero, data[200];
    if(sscanf(params, "d", numero)) return SendClientMessage(playerid, COL_AYUDA, "Uso: "COL_WHITE"/llamar [numero]");

    for(new player, user = GetMaxPlayers(); player != user; player++){
        if(player == playerid) continue;
        if(IsPlayerConnected(player)){
            if(PlayerInfo[player][pTelefono] == numero){
                format(data, sizeof(data), "%s saca el telefono", GetName(playerid));
                ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);

                SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"Llamando");
                SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
                break;
            }else{
                format(data, sizeof(data), "%s guarda el telefono", GetName(playerid));
                ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);

                SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El numero al que llama no existe");
                SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                 break;
            }
        }else{
            format(data, sizeof(data), "%s guarda el telefono", GetName(playerid));
            ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);

            SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El telefono se encuentra apagado o fuera de covertura, intentelo de nuevo mбs tarde");
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
             break;
        }
    }
    return true;
}



Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - chusothe41 - 16.08.2014

Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
YCMD:llamar(playerid, params[], help){
    new numero, data[200];
    if(sscanf(params, "d", numero)) return SendClientMessage(playerid, COL_AYUDA, "Uso: "COL_WHITE"/llamar [numero]");

    for(new player, user = GetMaxPlayers(); player != user; player++){
        if(player == playerid) continue;
        if(IsPlayerConnected(player)){
            if(PlayerInfo[player][pTelefono] == numero){
                format(data, sizeof(data), "%s saca el telefono", GetName(playerid));
                ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);

                SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"Llamando");
                SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
                break;
            }else{
                format(data, sizeof(data), "%s guarda el telefono", GetName(playerid));
                ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);

                SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El numero al que llama no existe");
                SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                 break;
            }
        }else{
            format(data, sizeof(data), "%s guarda el telefono", GetName(playerid));
            ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);

            SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El telefono se encuentra apagado o fuera de covertura, intentelo de nuevo mбs tarde");
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
             break;
        }
    }
    return true;
}
Sabes que te digo XD que no me entero de nada, me has cambiado las varibles lo has echo todo a tu bola y no me has explicado cual fue mi error ni como solucionarlo. Asн no aprendo, se agradece la respuesta pero...


Re: [AYUDA]No se desactiva la SPECIAL_ACTION - chusothe41 - 17.08.2014

Acabo de probar tu codigo y falla igual que el mio.
En realidad lo unico que has echo es cambiar las variables y mover las cosas


Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - Whyd - 17.08.2014

Prueba a dejar esto asн, no se a que te refieres bien:

pawn Код:
YCMD:llamar(playerid, params[], help)
{
    if(!sscanf(params, "i", params[0]))
    {
        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(PlayerInfo[i][pTelefono] == params[0] && i != playerid)
            {
                new llamador[256], llamado[256];
                format(llamador, sizeof(llamador), "%s saca el telefono", GetName(playerid));
                SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE); // animacion cogiendo telefono
                ProxDetector2(30, playerid, llamador,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);
                if(!IsPlayerConnected(i))
                {
                    new noconectado[256];
                    format(noconectado, sizeof(noconectado), "%s guarda el telefono", GetName(playerid));
                    ProxDetector2(30, playerid, noconectado,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);
                    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                    SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El telefono se encuentra apagado o fuera de covertura, intentelo de nuevo mбs tarde");
                }
                else
                {
                    SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"Llamando");
                    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                }
                break;
            }
            else
            {
                SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El numero al que llama no existe");
                SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
                break;
            }
        }
    }
    else SendClientMessage(playerid, COL_AYUDA, "Uso: "COL_WHITE"/llamar [numero]");
    return 1;
}



Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - [J]ulian - 17.08.2014

La ъltima parte del cуdigo estб de mбs. Si el jugador no estб conectado nunca pTelefono serб igual a nъmero, por lo que el else dentro de la primera parte del cуdigo se ejecutarб.

No solucionarб tu problema (que de hecho no entendн cual es el problema), pero yo lo harнa asн:

pawn Код:
YCMD:llamar(playerid, params[], help)
{
    new numero, data[200];
    if(sscanf(params, "d", numero)) return SendClientMessage(playerid, COL_AYUDA, "Uso: "COL_WHITE"/llamar [numero]");
    for(new player, user = GetMaxPlayers(); player != user; player++)
    {
        if(player != playerid && IsPlayerConected(player) && PlayerInfo[player][pTelefono] == numero)
        {
            format(data, sizeof(data), "%s saca el telefono", GetName(playerid));
            ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);
            SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"Llamando");
            SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
            break;
        }
        else
        {
            format(data, sizeof(data), "%s guarda el telefono", GetName(playerid));
            ProxDetector2(30, playerid, data,0xC2A2DAAA,0xAA8EBFAA,0x947BA6AA,0x7D688CAA,0x665573AA);
            SendClientMessage(playerid, 0xFFCC26AA, "Operadora: "COL_WHITE"El numero al que llama no existe");
            SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
            break;
        }
    }
    return 1;
}



Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - chusothe41 - 17.08.2014

Me refiero a que cuando el numero al que llama no existe me envia solo el mensaje de "Operadora: "COL_WHITE"El numero al que llama no existe")

Pero la funcion
pawn Код:
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
no se ejecuta


Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - [J]ulian - 17.08.2014

Ponlo asн:

pawn Код:
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
printf("act: %i", GetPlayerSpecialAction(playerid));
Y dinos que te sale en la consola. Si te sale 11 es que por alguna razуn no se estб ejecutando la nueva acciуn si te sale 13 o 0 se ejecuta pero no se ve.

EDIT: Pon el printf en un comando aparte. Si no mostrarб 11 siempre (la anterior).


Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - Whyd - 17.08.2014

O sino pon dos veces lo mismo, prueba antes lo de [J]ulian
pawn Код:
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);



Respuesta: [AYUDA]No se desactiva la SPECIAL_ACTION - chusothe41 - 18.08.2014

Me da 0

EDIT: He estado mirando y... me da acciones como 8 y coloque un timer y no lo ejecuta...