ayuda con esta stock y consulta mysql
#1

bueno antes que todo, hola.

tengo el problema que estoy trabajando con un sistema de clanes mysql, y eske ya va funcionando mas o menos, y tengo el error que cuando creo un clan, y quiero invitar a alguien me dice que no soy lider, supongo que lo que hace la stock es obtener el nombre del creador del clan para verificar si es lider, pero me tira que no lo soy.

utilizo mysql R39

aca esta la stock:
pawn Код:
stock IsPlayerGangLeader(playerid)
{
    new Query[100]; format(Query, sizeof(Query), "SELECT * FROM Clanes WHERE id = %d AND fundador = '%s'", Player[playerid][Gang], pName(playerid));
    mysql_query(mysql,Query);
    if(cache_num_rows()) return 1;
    return 0;
}
aca el comando de invitar:
pawn Код:
COMMAND:invitar(playerid, params[])
{
    new pID, string[128];
    if(!IsPlayerGangLeader(playerid)) return SendClientMessage(playerid, COLOR_YELLOW, "No eres lнder del clan!");
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid, COLOR_YELLOW, "Uso: /invitar [ Playerid / Name ]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_YELLOW, "Este jugador no estб conectado!");
    if(IsMySelf(playerid, pID))  return SendClientMessage(playerid, COLOR_YELLOW, "No puedes invitarte tъ mismo.");
    if(Player[pID][Gang] != 0)  return SendClientMessage(playerid, COLOR_YELLOW, "Este jugador ya pertenece a otro clan.");
    if(Invite[pID] != 0 && Invite[pID] != Player[playerid][Gang])  return SendClientMessage(playerid, COLOR_YELLOW, "Este jugador a sido invitado por otro clan, espera a que rechaze o acepte su invitaciуn");
    if(Invite[pID] == Player[playerid][Gang])  return SendClientMessage(playerid, COLOR_YELLOW, "Usted ya invitу a este jugador, espere por una respuesta.");
    format(string, sizeof(string), "Tъ fuiste invitado al clan %s, tipea /acc or /den", GetGangName(Player[playerid][Gang]));
    SendClientMessage(pID, COLOR_GREEN, string);
    format(string, sizeof(string), "Has invitado a %s a formar parte de tъ clan, espera por una respuesta.", pName(pID));
    SendClientMessage(playerid, COLOR_GREEN, string);
    Invite[pID] = Player[playerid][Gang];
    return 1;
}
Reply
#2

La verdad no veo nada. їComo tiene la tabla?

A parte, te recomiendo que no hagas consulta, puedes crear un campo en la tabla del jugador que diga si es o no lнder del clan al que pertenece, seria mas facil.
Reply
#3

El parбmetro gang de donde lo sacas ?
Reply
#4

Quote:
Originally Posted by NullBot
Посмотреть сообщение
El parбmetro gang de donde lo sacas ?
Gang es la id del clan al cual pertenece, se carga al jugador cuando este se conecta, obtiene el dato de la tabla en la base de datos.
Reply
#5

Deberнas guardar al lнder, creador o quien puede reclutar, con su ID. No su nombre.
Asн cargas el ID del jugador cuando se conecta, y el del clan cuando cargas el clan y luego haces la comparaciуn de IDs de la base de datos.
Reply
#6

Supongo que la funciуn pName obtendrб la _ y al guardar el nombre lo harб tambiйn ( o en el caso contrario ninguna de las 2 funciones la guarde ).
Reply
#7

Solucionado , gracias.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)