[Ajuda] ZCmd, Sscaf e MySQL
#1

Bom, estou comeзando o GM do 0, e estou comeзando a mexer com coisas novas, como MySQL(samp), scanff e zcmd, e encontrei um problema, meu comando /lider й da seguinte forma:
pawn Код:
CMD:lider(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(InfoPlayer[playerid][pLogado] == 1)
        {          
            if(ChecarPermicao(playerid, 0, Admin_Comandos_Ativos) == 1)
            {
                new IDPlayer, OrgID;
                if(sscanf(params, "ui", IDPlayer, OrgID))
                {
                    SendClientMessage(playerid, COR_GRO, "USE:"MeiaCor_Branco" /lider ["MeiaCor_Vermelho"Player ID"MeiaCor_Branco"] ["MeiaCor_Vermelho"ID da Organizaзгo"MeiaCor_Branco"]");
                    return 1;
                }
                else
                {
                    if(IsPlayerConnected(IDPlayer))
                    {
                        if(OrgID >= 1 && OrgID < MAX_ORGS)
                        {
                            if(InfoPlayer[IDPlayer][pMembro] != 0 && InfoPlayer[IDPlayer][pMembro] != OrgID)
                            {
                                SendClientMessage(playerid, Aviso_Mensagens, "Aviso:"MeiaCor_Branco" Este player jб participa de uma Organizaзгo!");
                                return 1;
                            }
                            else
                            {
                                if(strcmp(InfoMembro[OrgID][1][UserMembro], "Ninguem", true) != 0)
                                {
                                    SendClientMessage(playerid, Aviso_Mensagens, "Aviso:"MeiaCor_Branco" Esta organizaзгo jб tem Lнder, use /retirarlider para retira-lo!");
                                    return 1;
                                }
                                else
                                {
                                    InfoPlayer[IDPlayer][pMembro] = OrgID; InfoPlayer[IDPlayer][pCargo] = 8; SpawnPlayer(IDPlayer);
                                    format(string, sizeof(string), ""Aviso_Mensagens_Destaques" Vocк foi Promovido a Lнder da organizaзгo %s, pelo administrador %s "Aviso_Mensagens_Destaques"", OrgName(OrgID), PlayerName(playerid));
                                    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                    format(string, sizeof(string), "Vocк promoveu %s[ID: %d] a lнder da organizaзгo %s", PlayerName(IDPlayer), IDPlayer, OrgName(OrgID));
                                    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                    format(string, sizeof(string), ""Mensagem_Comandos_Admins" O Admin %s Promoveu %s[ID: %d] a lнder da organizaзгo %s", PlayerName(playerid), PlayerName(IDPlayer), IDPlayer, OrgName(OrgID));
                                    ChatAdmin(COLOR_LIGHTGREEN, string, 1, 4);
                                    format(string, sizeof(string), "** %s Foi promovido a Lнder desta organizaзгo, pelo Admin %s", PlayerName(IDPlayer), PlayerName(playerid));
                                    MensagemOrg(OrgID, COLOR_LIGHTGREEN, string); MySQL_Save(IDPlayer); SalvarOrg(OrgID);
                                    return 1;
                                }
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, Aviso_Mensagens, "Aviso:"MeiaCor_Branco" O id da Organizaзгo deve estar entre 1 a 32!");
                            return 1;
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, Aviso_Mensagens, "Aviso:"MeiaCor_Branco" Este player nгo estб Conectado no servidor!");
                        return 1;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, Aviso_Mensagens, Erro_Permicao_Admin_Trabalho);
                return 1;
            }
        }
        else
        {
            SendClientMessage(playerid, Aviso_Mensagens, "Aviso:"MeiaCor_Branco" Vocк precisa estar logado para usar este comando!");
            return 1;
        }
    }
    return 0;
}
O Problema estб no SalvarOrg(OrgID); ele simplesmente nгo salva a org, bom basicamente ele й assim:
pawn Код:
stock SalvarOrg(OrgID)
{
    if(OrgID >= 1 && OrgID < MAX_ORGS)
    {
        new SalvarRows, SalvarFields, StrMember[800], StrInfohq[800], StrEspera[800], StrBanido[300], QuerySave[800];
        mysql_format(MySQL, string, sizeof(string), "SELECT org_id FROM `infohq` WHERE `org_id`='%d'", OrgID);
        mysql_query(MySQL, string);
        cache_get_data(SalvarRows, SalvarFields);
        if(SalvarRows)
        {
            //=========================================================================================================================//
            //=========================================================================================================================//
            for(new Membro = 0; Membro <= MAX_MEMBROS_FULL; Membro++)
            {
                format(StrMember, sizeof(StrMember), "%s/%d/%d/%02d-%02d-%04d", InfoMembro[OrgID][Membro][UserMembro], InfoMembro[OrgID][Membro][oAvisos], InfoMembro[OrgID][Membro][oCargo], InfoMembro[OrgID][Membro][oDiaP], InfoMembro[OrgID][Membro][oMesP], InfoMembro[OrgID][Membro][oAnoP]);
                strmid(InfoMembro[OrgID][Membro][strSave], StrMember, 0, strlen(StrMember), sizeof(StrMember));
            }
            //=========================================================================================================================//
            //=========================================================================================================================//
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d", InfoHQ[OrgID][Dinheiro],InfoHQ[OrgID][Materiais],InfoHQ[OrgID][Maconha], InfoHQ[OrgID][Crack], InfoHQ[OrgID][Cocaina]);
            strmid(InfoHQ[OrgID][org_BancoHQ], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][SalarioCargo1], InfoHQ[OrgID][SalarioCargo2], InfoHQ[OrgID][SalarioCargo3], InfoHQ[OrgID][SalarioCargo4], InfoHQ[OrgID][SalarioCargo5], InfoHQ[OrgID][SalarioCargo6]);
            strmid(InfoHQ[OrgID][Org_Salarios], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][Cargo1Eagle], InfoHQ[OrgID][Cargo1Shotgun], InfoHQ[OrgID][Cargo1Mp5], InfoHQ[OrgID][Cargo1Ak47], InfoHQ[OrgID][Cargo1sniper], InfoHQ[OrgID][Cargo1granada]);
            strmid(InfoHQ[OrgID][Org_BalasCargo1], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][Cargo2Eagle], InfoHQ[OrgID][Cargo2Shotgun], InfoHQ[OrgID][Cargo2Mp5],   InfoHQ[OrgID][Cargo2Ak47], InfoHQ[OrgID][Cargo2sniper], InfoHQ[OrgID][Cargo2granada]);
            strmid(InfoHQ[OrgID][Org_BalasCargo2], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][Cargo3Eagle], InfoHQ[OrgID][Cargo3Shotgun], InfoHQ[OrgID][Cargo3Mp5],   InfoHQ[OrgID][Cargo3Ak47], InfoHQ[OrgID][Cargo3sniper], InfoHQ[OrgID][Cargo3granada]);
            strmid(InfoHQ[OrgID][Org_BalasCargo3], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][Cargo4Eagle], InfoHQ[OrgID][Cargo4Shotgun], InfoHQ[OrgID][Cargo4Mp5],   InfoHQ[OrgID][Cargo4Ak47], InfoHQ[OrgID][Cargo4sniper], InfoHQ[OrgID][Cargo4granada]);
            strmid(InfoHQ[OrgID][Org_BalasCargo4], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][Cargo5Eagle], InfoHQ[OrgID][Cargo5Shotgun], InfoHQ[OrgID][Cargo5Mp5],   InfoHQ[OrgID][Cargo5Ak47], InfoHQ[OrgID][Cargo5sniper], InfoHQ[OrgID][Cargo5granada]);
            strmid(InfoHQ[OrgID][Org_BalasCargo5], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][CargoSubEagle], InfoHQ[OrgID][CargoSubShotgun], InfoHQ[OrgID][CargoSubMp5], InfoHQ[OrgID][CargoSubAk47], InfoHQ[OrgID][CargoSubsniper], InfoHQ[OrgID][CargoSubgranada]);
            strmid(InfoHQ[OrgID][Org_BalasCargoSubs], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d/%d/%d", InfoHQ[OrgID][Cargo6Eagle], InfoHQ[OrgID][Cargo6Shotgun], InfoHQ[OrgID][Cargo6Mp5],   InfoHQ[OrgID][Cargo6Ak47], InfoHQ[OrgID][Cargo6sniper], InfoHQ[OrgID][Cargo6granada]);
            strmid(InfoHQ[OrgID][Org_BalasCargo6], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d", InfoHQ[OrgID][PMateriais], InfoHQ[OrgID][PMaconha], InfoHQ[OrgID][PCrack], InfoHQ[OrgID][PCocaina]);
            strmid(InfoHQ[OrgID][Org_Compras], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            /***************************************************************************************************************************/
            format(StrInfohq, sizeof(StrInfohq), "%d/%d/%d/%d", InfoHQ[OrgID][ValorMateriais], InfoHQ[OrgID][ValorMaconha], InfoHQ[OrgID][ValorCrack], InfoHQ[OrgID][ValorCocaina]);
            strmid(InfoHQ[OrgID][Org_ValorCompras], StrInfohq, 0, strlen(StrInfohq), sizeof(StrInfohq));
            //=========================================================================================================================//
            //=========================================================================================================================//
            for(new Espera = 1; Espera <= Max_Espera; Espera++)
            {
                format(StrEspera, sizeof(StrEspera), "%s/%02d-%02d-%04d", InfoEspera[OrgID][Espera][esperaUser], InfoEspera[OrgID][Espera][eDia], InfoEspera[OrgID][Espera][eMes], InfoEspera[OrgID][Espera][eAno]);
                strmid(InfoEspera[OrgID][Espera][InfoEsperaStr], StrEspera, 0, strlen(StrEspera), sizeof(StrEspera));
            }
            //=========================================================================================================================//
            //=========================================================================================================================//
            for(new CountBan = 1; CountBan <= Max_Banidos; CountBan++)
            {
                format(StrBanido, sizeof(StrBanido), "%s/%s/%02d-%02d-%04d", InfoBanido[OrgID][CountBan][bUserStr], InfoBanido[OrgID][CountBan][bStr], InfoBanido[OrgID][CountBan][BanDia], InfoBanido[OrgID][CountBan][BanMes], InfoBanido[OrgID][CountBan][BanAno]);
                strmid(InfoBanido[OrgID][CountBan][InfoBanStr], StrBanido, 0, strlen(StrBanido), sizeof(StrBanido));
            }
            //=========================================================================================================================//
            //=========================================================================================================================//
            strcat(QuerySave,"UPDATE `infohq` SET `org_lider`='%s', `org_lider`='%s', `org_gerente`='%s', `org_membro1`='%s', `org_membro2`='%s', `org_membro3`='%s', `org_membro4`='%s', `org_membro5`='%s', `org_membro6`='%s', `org_membro7`='%s', `org_membro8`='%s', `org_membro9`='%s', `org_membro10`='%s', `org_membro11`='%s', `org_membro12`='%s'");         
            strcat(QuerySave," WHERE `org_id`='%d'");
            mysql_format(MySQL, QuerySave,sizeof(QuerySave),QuerySave, InfoMembro[OrgID][1][strSave], InfoMembro[OrgID][2][strSave], InfoMembro[OrgID][3][strSave], InfoMembro[OrgID][4][strSave], InfoMembro[OrgID][5][strSave], InfoMembro[OrgID][6][strSave], InfoMembro[OrgID][7][strSave], InfoMembro[OrgID][8][strSave], InfoMembro[OrgID][9][strSave], InfoMembro[OrgID][10][strSave]
            , InfoMembro[OrgID][11][strSave], InfoMembro[OrgID][12][strSave], InfoMembro[OrgID][13][strSave], InfoMembro[OrgID][14][strSave], InfoMembro[OrgID][15][strSave], OrgID);
            mysql_query(MySQL,QuerySave,false);
            printf("%s", QuerySave);
            return 1;
        }
        return 1;
    }
    return 1;
}
a org simplesmente nгo й salva
Reply
#2

Qual erro que dб nos logs? E por favor, use a versгo mais recente do plugin MySQL.
Reply
#3

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Qual erro que dб nos logs? E por favor, use a versгo mais recente do plugin MySQL.
Bom, como estou comeзando me indicaram a versгo R38, erro й simplesmente que ele nгo salva, ele imprimi a linha corretamente na printf, mas nгo salva

@MySQL Logs:

PHP код:
[20:20:52] [WARNINGCMySQLHandle::Create connection already exists 
Reply
#4

Esse warning nгo vai ajudar a resolver seu problema. Mostra mais coisas do log, ou usa a callback OnQueryError

A versгo mais recente й a r39
Reply
#5

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Esse warning nгo vai ajudar a resolver seu problema. Mostra mais coisas do log, ou usa a callback OnQueryError

A versгo mais recente й a r39
Bom, refiz todo o sistema e consegui achar uma forma dele funcionar, de qualquer forma obrigado.
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)