[Duda] Comando /f
#1

Hola comunidad, tengo creado el comando /f pero al usarlo, me sale como si estuviera escribiendo ig, ej: "Nazareno_Quintana Dice:" y no me sale el /f, para mн, el problema estб en el stock, pero no sй como arreglarlo, ayuda por favor

Код:
zcmd(f, playerid, params[])
{
if(Informacion[playerid][IFaccion] >= 1) // le decimos que si tiene una facciуn mayor o igual a 1
{
new texto[120], pnamep[MAX_PLAYER_NAME];
GetPlayerName(playerid, pnamep, sizeof(pnamep));
if(sscanf(params, "s", texto)) return SendClientMessage(playerid, -1, "/f [texto OOC de la facciуn]");
if(LSPD(playerid)) // decimos que si pertenece a la facciуn 1 (nuestra funciуn)
{
new rangoname[40];
switch(Informacion[playerid][IRango])
{
case 1: rangoname = "Cadete";
case 2: rangoname = "Oficial";
case 3: rangoname = "Detective";
case 4: rangoname = "Sargento";
case 5: rangoname = "Teniente";
case 6: rangoname = "Detective";
}
new string[200];
format(string, 200, "%s %s: %s", rangoname, pnamep, texto);
EnviarMensajeFacc(Informacion[playerid][IFaccion], -1, string);
}
}
else SendClientMessage(playerid, -1, "No eres miembro de ninguna facciуn");
return 1;
}
Stock:

Код:
stock EnviarMensajeFacc(idfac, color, texto[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Informacion[i][IFaccion] == idfac)
{
SendClientMessage(i, color, texto);
}
}
}
}
PD: si se puede, me podrнan decir como agregar mбs facciones al comando /f, ya agreguй los if y todo, pero me daba error, o sea, quiero que todas las faccs puedan hablar, ya que ahн sуlo estб LSPD. De antemano muchнsimas gracias.
Reply
#2

pawn Код:
zcmd(f, playerid, params[])
{
if(Informacion[playerid][IFaccion] >= 1) // le decimos que si tiene una facciуn mayor o igual a 1
{
new texto[120], pnamep[MAX_PLAYER_NAME];
GetPlayerName(playerid, pnamep, sizeof(pnamep));
if(sscanf(params, "s", texto)) return SendClientMessage(playerid, -1, "/f [texto OOC de la facciуn]");
if(LSPD(playerid)) // decimos que si pertenece a la facciуn 1 (nuestra funciуn)
{
new rangoname[40];
switch(Informacion[playerid][IRango])
{
case 1: rangoname = "Cadete";
case 2: rangoname = "Oficial";
case 3: rangoname = "Detective";
case 4: rangoname = "Sargento";
case 5: rangoname = "Teniente";
case 6: rangoname = "Detective";
}
new string[200];
format(string, 200, "(( %s %s: %s ))", rangoname, pnamep, texto);
EnviarMensajeFacc(Informacion[playerid][IFaccion], -1, string);
}
}
else SendClientMessage(playerid, -1, "No eres miembro de ninguna facciуn");
return 1;
}
Reply
#3

Yo lo veo bien, o mejor explicate mas. Aqui te muestro un ejemplo de como serнa con mas fac.
pawn Код:
zcmd(f, playerid, params[])
{
    if(Informacion[playerid][IFaccion] >= 1) // la condicion se aplica si tiene mas o igual a 1
    {
        new texto[120], pnamep[MAX_PLAYER_NAME];
        GetPlayerName(playerid, pnamep, sizeof(pnamep));
        if(sscanf(params, "s", texto)) return SendClientMessage(playerid, -1, "/f [texto OOC de la facciуn]");
        if(Informacion[playerid][IFaccion] == 1)  //si es facc 1 se aplica
        {
            new rangoname[40];
            switch(Informacion[playerid][IRango])
            {
                case 1: rangoname = "Rango1";
                case 2: rangoname = "Rango2";
                case 3: rangoname = "Rango3";
                case 4: rangoname = "Rango4";
                case 5: rangoname = "Rango5";
                case 6: rangoname = "Rango6";
            }
            new string[200];
            format(string, 200, "[OOC] [%s] %s: %s", rangoname, pnamep, texto);
            EnviarMensajeFacc(Informacion[playerid][IFaccion], -1, string);
        }
        else if(Informacion[playerid][IFaccion] == 2) // si falla la fac 1 pasa a йsta y a su vez si es de fac 2 se aplica esta condicion
        {
            new rangoname[40];
            switch(Informacion[playerid][IRango])
            {
                case 1: rangoname = "Rango1";
                case 2: rangoname = "Rango2";
                case 3: rangoname = "Rango3";
                case 4: rangoname = "Rango4";
                case 5: rangoname = "Rango5";
                case 6: rangoname = "Rango6";
            }
            new string[200];
            format(string, 200, "[OOC] [%s] %s: %s", rangoname, pnamep, texto);
            EnviarMensajeFacc(Informacion[playerid][IFaccion], -1, string);
        }
        else if(Informacion[playerid][IFaccion] == 3)//fac3
        {
            new rangoname[40];
            switch(Informacion[playerid][IRango])
            {
                case 1: rangoname = "Rango1";
                case 2: rangoname = "Rango2";
                case 3: rangoname = "Rango3";
                case 4: rangoname = "Rango4";
                case 5: rangoname = "Rango5";
                case 6: rangoname = "Rango6";
            }
            new string[200];
            format(string, 200, "[OOC] [%s] %s: %s", rangoname, pnamep, texto);
            EnviarMensajeFacc(Informacion[playerid][IFaccion], -1, string);
        }
        //else if(Informacion[playerid][IFaccion] == 4)
        //{
        //}
        //else if(Informacion[playerid][IFaccion] == 5)
        //{
        //}
        //else if(Informacion[playerid][IFaccion] == 6)
        //{
        //}
    }else SendClientMessage(playerid, -1, "No eres miembro de ninguna facciуn");
    return 1;
}

stock EnviarMensajeFacc(idfac, color, texto[])
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Informacion[i][IFaccion] == idfac)
            {
                SendClientMessage(i, color, texto);
            }
        }
    }
}
Reply
#4

Muchнsimas gracias a los dos, me ayudaron, MIL GRACIAS.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)