їHacer sistema de llamada?
#1

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.");
		}
		}
	}
Reply
#2

http://pastebin.com/u/OtaconEvil
http://pastebin.com/KngN2mKA
Reply
#3

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

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
Reply
#5

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

lo que te deje es para que te orientes un poco.
saludos.
Reply
#6

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;
}
Reply
#7

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.
Reply
#8

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.
Reply
#9

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.
Reply
#10

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
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)