SA-MP Forums Archive
їHacer sistema de llamada? - 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: їHacer sistema de llamada? (/showthread.php?tid=547147)



їHacer sistema de llamada? - lComandante - 20.11.2014

Estoy haciendo el sistema de llamada pero me quede sin cerebro, se me fueron todas las ideas de como hacerlo entonces recurro acб para alguien que me pueda echar una mano.
Esto llevo hasta el momento:

Код:
	CMD:llamar(playerid, params[])
	{
		new string[128], telnum;
		if(sscanf(params, "d", telnum))return Mensaje(playerid, -1, "USO: /llamar [Nъmero]");
		if(EstaTazeado[playerid] == true)return Mensaje(playerid, -1,"No puedes usar tu telйfono estando tazeado.");
		if(InfoJugador[playerid][jNumeroCel] == 0)return Mensaje(playerid, -1, "No tienes un telйfono.");
		if(Hablando[playerid] == true)return Mensaje(playerid, -1, "Ya te encuentras en una llamada.");
		if(InfoJugador[playerid][jEncarcelado] == 1)return Mensaje(playerid, -1, "No puedes llamar estбndo en jail.");
		AutoRol(playerid, "coge su telйfono.");
		for(new i=0;i<MAX_PLAYERS;i++)
		{
		if(InfoJugador[i][jNumeroCel] == telnum)
		{
		    Mensaje(i, C_POSITIVO, "Recibes una llamada. Usa /contestar para responderla.");
		}
		}
	}



Respuesta: їHacer sistema de llamada? - OTACON - 20.11.2014

http://pastebin.com/u/OtaconEvil
http://pastebin.com/KngN2mKA


Respuesta: їHacer sistema de llamada? - lComandante - 20.11.2014

їNo tienes uno como ejemplo que no sea con /hablar?


Respuesta: їHacer sistema de llamada? - Juance - 21.11.2014

Al momento de que uno hace una llamada al jugador y el receptor la contesta podes activar una variable que dicha variable la identificas en la callback OnPlayerText. Entonces si esa variable estб activada, que cada jugador reciba lo que el otro escriba


Respuesta: їHacer sistema de llamada? - OTACON - 21.11.2014

simple, la funciуn del comando la colocas en el callback OnPlayerText.

lo que te deje es para que te orientes un poco.
saludos.



Respuesta: їHacer sistema de llamada? - Zume - 21.11.2014

Aquн un ejemplo:

pawn Код:
new
    NumeroTel[MAX_PLAYERS] = {-1, ...},
    ConectadoMobil[MAX_PLAYERS] = {-1, ...};

CMD:llamar(playerid, params[])
{
    if(NumeroTel[playerid] == -1)
        return SendClientMessage(playerid, -1, "No tienes un nъmero de telйfono.");

    if(ConectadoMobil[playerid] != -1)
        return SendClientMessage(playerid, -1, "Ya estбs haciendo una llamada.");

    new
        numero;

    if (sscanf(params, "d", numero))
        return SendClientMessage(playerid, -1, "/llamar [nъmero]");

    new
        id = JugadorConNumero(numero);

    if(id == -1)
        return SendClientMessage(playerid, -1, "Lo sentimos .. La llamada no puede darse porque el nъmero no existe.");

    SendClientMessage(id, -1, "Te estбn llamando, /contestar");
    SendClientMessage(playerid, -1, "La llamada se realizу con йxito .. Espera a que respondan.");
    ConectadoMobil[playerid] = id;
    return 1;
}

public OnPlayerText(playerid, text[])
{
    new
        string[128];

    if(ConectadoMobil[playerid] != -1 && IsPlayerConnected(ConectadoMobil[playerid]))
    {
        format(string, sizeof(string), "ID %d dice: %s", playerid, text);
        SendClientMessage(ConectadoMobil[playerid], -1, string);
    }
    return 1;
}

CMD:contestar(playerid, params[])
{
    new
        id = TieneLlamada(playerid);

    if(id == -1)
        return SendClientMessage(playerid, -1, "No tienes ninguna llamda ..");

    ConectadoMobil[playerid] = id;
    SendClientMessage(playerid, -1, "Ahora estбs en una llamada, utiliza T para hablar.");
    SendClientMessage(id, -1, "La llamada fue atendida.");
    return 1;
}

CMD:tomarnumero(playerid, params[])
{
    NumeroTel[playerid] = random(90000) + 10000;

    static
        string[128];

    format(string, sizeof(string), "Ahora tu nъmero de telйfono es: %d", NumeroTel[playerid]);
    SendClientMessage(playerid, -1, string);
    return 1;
}

JugadorConNumero(numero)
{
    for (new i = 0; i != MAX_PLAYERS; i ++) if(IsPlayerConnected(i) && NumeroTel[i] == numero){
        return i;
    }
    return -1;
}

TieneLlamada(playerid)
{
    for (new i = 0; i != MAX_PLAYERS; i ++) if(IsPlayerConnected(i) && ConectadoMobil[i] == playerid)
    {
        return i;
    }
    return -1;
}



Respuesta: їHacer sistema de llamada? - OTACON - 22.11.2014

Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
Aquн un ejemplo:

pawn Код:
new
    NumeroTel[MAX_PLAYERS] = {-1, ...},
    ConectadoMobil[MAX_PLAYERS] = {-1, ...};

CMD:llamar(playerid, params[])
{
    if(NumeroTel[playerid] == -1)
        return SendClientMessage(playerid, -1, "No tienes un nъmero de telйfono.");

    if(ConectadoMobil[playerid] != -1)
        return SendClientMessage(playerid, -1, "Ya estбs haciendo una llamada.");

    new
        numero;

    if (sscanf(params, "d", numero))
        return SendClientMessage(playerid, -1, "/llamar [nъmero]");

    new
        id = JugadorConNumero(numero);

    if(id == -1)
        return SendClientMessage(playerid, -1, "Lo sentimos .. La llamada no puede darse porque el nъmero no existe.");

    SendClientMessage(id, -1, "Te estбn llamando, /contestar");
    SendClientMessage(playerid, -1, "La llamada se realizу con йxito .. Espera a que respondan.");
    ConectadoMobil[playerid] = id;
    return 1;
}

public OnPlayerText(playerid, text[])
{
    new
        string[128];

    if(ConectadoMobil[playerid] != -1 && IsPlayerConnected(ConectadoMobil[playerid]))
    {
        format(string, sizeof(string), "ID %d dice: %s", playerid, text);
        SendClientMessage(ConectadoMobil[playerid], -1, string);
    }
    return 1;
}

CMD:contestar(playerid, params[])
{
    new
        id = TieneLlamada(playerid);

    if(id == -1)
        return SendClientMessage(playerid, -1, "No tienes ninguna llamda ..");

    ConectadoMobil[playerid] = id;
    SendClientMessage(playerid, -1, "Ahora estбs en una llamada, utiliza T para hablar.");
    SendClientMessage(id, -1, "La llamada fue atendida.");
    return 1;
}

CMD:tomarnumero(playerid, params[])
{
    NumeroTel[playerid] = random(90000) + 10000;

    static
        string[128];

    format(string, sizeof(string), "Ahora tu nъmero de telйfono es: %d", NumeroTel[playerid]);
    SendClientMessage(playerid, -1, string);
    return 1;
}

JugadorConNumero(numero)
{
    for (new i = 0; i != MAX_PLAYERS; i ++) if(IsPlayerConnected(i) && NumeroTel[i] == numero){
        return i;
    }
    return -1;
}

TieneLlamada(playerid)
{
    for (new i = 0; i != MAX_PLAYERS; i ++) if(IsPlayerConnected(i) && ConectadoMobil[i] == playerid)
    {
        return i;
    }
    return -1;
}
eso esta incompleto... si te fijas bien.



Respuesta: їHacer sistema de llamada? - Juand - 22.11.2014

Quote:
Originally Posted by OTACON
Посмотреть сообщение
eso esta incompleto... si te fijas bien.
Quote:
Originally Posted by Zume-Zero
Посмотреть сообщение
Aquн un ejemplo
lee bien, es un ejemplo, por cierto me da asco tu sistema de telйfono u,u , saludos cordiales.


Respuesta: їHacer sistema de llamada? - OTACON - 22.11.2014

Quote:
Originally Posted by Juand
Посмотреть сообщение
lee bien, es un ejemplo, por cierto me da asco tu sistema de telйfono u,u , saludos cordiales.
el mio tambiйn es un ejemplo ... lee bien.
tal vez tambiйn me darнa asco un script hecho por ti.
saludos.



Respuesta: їHacer sistema de llamada? - Juand - 22.11.2014

Quote:
Originally Posted by OTACON
Посмотреть сообщение
el mio tambiйn es un ejemplo ... lee bien.
tal vez tambiйn me darнa asco un script hecho por ti.
saludos.
No, por que no has visto ninguno, llevo menos tiempo que tъ y mira, ^^.
y por cierto el tuyo no es un ejemplo aclaras que es un "mini sistema" bien mini que esta, solo que criticas a los demбs cuando haces peores cosas o son una mr, saludos