Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±

    Неправильно заносятся данный в базу данных.

    Всем добрый день, при создании общаков в бандах и мафиях столкнулся с такой проблемой.
    1. Когда я ложу деньги или что-то другое в общак то в базу-данных все это ложится не в нужную фракцию а совершенно в другую.
    2. Когда открываю общак то вся информация о содержимом на 0 даже если если в базе данных оно есть.


    PHP код:
    publics LoadFraction()
    {
        new 
    rows,fieldsvresult[11];
        
    cache_get_data(rows,fields);
        
    Fraction rows-1;
        if(!
    rows)print("Нету загрузки фракций.");
        else
        {
            for(new 
    1rowsi++)
            {
                
    cache_get_row(i0vresult),     FInfo[i][fId] = strval(vresult);
                
    cache_get_row(i1vresult),     strmid(FInfo[i][fName], vresult0strlen(vresult), 255);
                
    cache_get_row(i2vresult),     strmid(FInfo[i][fLeader], vresult0strlen(vresult), 255);
                
    cache_get_row(i3vresult),     strmid(FInfo[i][fZam], vresult0strlen(vresult), 255);
                
    cache_get_row(i4vresult),     FInfo[i][fTwarn] = bool:strval(vresult);
                
    cache_get_row(i5vresult),     FInfo[i][fUnTwarn] = bool:strval(vresult);
                
    cache_get_row(i6vresult),     FInfo[i][fGiverank] = bool:strval(vresult);
                
    cache_get_row(i7vresult),     FInfo[i][fInvite] = bool:strval(vresult);
                
    cache_get_row(i8vresult),     FInfo[i][fUninvite] = bool:strval(vresult);
                
    cache_get_row(i9vresult),     FInfo[i][fObshak] = bool:strval(vresult);
                
    cache_get_row(i10vresult),     FInfo[i][fCarsspawn] = bool:strval(vresult);
                
    cache_get_row(i11vresult),     FInfo[i][fCarsfill] = bool:strval(vresult);
                
    FInfo[i][fBoardCor][0] = cache_get_field_content_float(i,"BoardCorX");
                
    FInfo[i][fBoardCor][1] = cache_get_field_content_float(i,"BoardCorY");
                
    FInfo[i][fBoardCor][2] = cache_get_field_content_float(i,"BoardCorZ");
                
    FInfo[i][fMoney] = cache_get_field_content_int(0,"FrackMoney",mySQLDB);
                
    FInfo[i][fDrugs] = cache_get_field_content_int(0,"FrackDrugs");
                
    FInfo[i][fMats] = cache_get_field_content_int(0,"FrackMats");
                if(
    FInfo[i][fId] == || FInfo[i][fId] ==|| FInfo[i][fId] == 10 || FInfo[i][fId] == 11 || FInfo[i][fId] == 12 || FInfo[i][fId] == 13 || FInfo[i][fId] == 14 || FInfo[i][fId] == 15 || FInfo[i][fId] == 17)
                {
                      
    CreateDynamicPickup(1274,1,FInfo[i][fBoardCor][0],FInfo[i][fBoardCor][1],FInfo[i][fBoardCor][2]);
                }
            }
        }
        
    printf("Фракции %d загружены, удачной игры.",rows-1);
        return 
    1;
    }
    stock SaveFraction()
    {
        new 
    string[1028];
        for(new 
    1;<= Fraction;++)
        {
            
    f(string"UPDATE "TABLE_FRACTION" SET `Name` = '%s', `Leader` = '%s', `Zam` = '%s', \
                `ZamTwarn` = '%i',`ZamUnTwarn` = '%i',`ZamGiveRank` = '%i',`ZamInvite` = '%i',`ZamUnInvite` = '%i',`ZamObshak` = '%i',`ZamCarSpawn` = '%i',`ZamCarFill` = '%i',\
                `FrackMoney` = '%i',`FrackDrugs` = '%i',`FrackMats` = '%i' WHERE `ID` = '%d'"
    ,
            
    FInfo[i][fName],
            
    FInfo[i][fLeader],
            
    FInfo[i][fZam],
            
    FInfo[i][fTwarn],
            
    FInfo[i][fUnTwarn],
            
    FInfo[i][fGiverank],
            
    FInfo[i][fInvite],
            
    FInfo[i][fUninvite],
            
    FInfo[i][fObshak],
            
    FInfo[i][fCarsspawn],
            
    FInfo[i][fCarsfill],
            
    FInfo[i][fMoney],
            
    FInfo[i][fDrugs],
            
    FInfo[i][fMats],
            
    i);
            
    mysql_function_query(mySQLDBstringfalse"""");
            
    //mysql_query(string);
        
    }
        return 
    true;


    PHP код:
                for(new 1sizeof(FInfo); i++)
                {
                    if(
    IsPlayerInRangeOfPoint(playerid,0.8,FInfo[i][fBoardCor][0],FInfo[i][fBoardCor][1],FInfo[i][fBoardCor][2]))
                    
    //if(IsPlayerInRangeOfPoint(playerid,2.0,2547.5444,-1281.7073,1060.9844) || IsPlayerInRangeOfPoint(playerid,2.0,2498.2788,-1711.3271,1014.7422) || IsPlayerInRangeOfPoint(playerid,2.0,-2164.8682,646.1217,1057.5938) || IsPlayerInRangeOfPoint(playerid,2.0,-3456.1500,939.1200,1035.5800))
                    
    {
                        new 
    fam GetPlayerMember(playerid);
                        if(
    fam == FInfo[i][fId])
                        {
                            new 
    string[100],str[64];
                            
    f(string,"Деньги: %d$\nНаркотики: %d\nМатериалы: %d",FInfo[i][fMoney],FInfo[i][fDrugs],FInfo[i][fMats]);
                            
    f(str,"{33CCFF}Общак: %s",FInfo[i][fName]);
                            return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,str,string,"Выбрать","Закрыть");//FInfo[i][fName]
                        
    }
                    }
                } 

    PHP код:
    enum fFractionInfo
    {
        
    fId,
        
    fName[24],
        
    fLeader[24],
        
    fZam[24],
    bool:fTwarn,
    bool:fUnTwarn,
    bool:fGiverank,
    bool:fInvite,
    bool:fUninvite,
    bool:fObshak,
    bool:fCarsspawn,
    bool:fCarsfill,
    Float:fBoardCor[3],
         
    fMoney,
        
    fDrugs,
        
    fMats,
    }
    new 
    FInfo[30][fFractionInfo]; 

    А раньше было вот так.

    PHP код:
    stock SaveObshak()
    {
        new 
    query[600];
        for(new 
    idx 1idx <= 17;idx++)
        {
            
    f(query,"UPDATE `obshak` SET `Money` = '%i',`Drugs`= '%i', `Mats`= '%i' WHERE `Id` = '%i'",ObshakInfo[idx][oMoney],ObshakInfo[idx][oDrugs],ObshakInfo[idx][oMats],ObshakInfo[idx][oId]);
            
    mysql_function_query(mySQLDBqueryfalse"""");
        }
        return 
    true;
    }
    publics LoadObshak()
    {
        new 
    time GetTickCount(),rowsfields,temp[30];
        
    cache_get_data(rowsfields);
        if(!
    rows) return print("!!! Нету загрузки Склада");
        else
        {
            for(new 
    idx 0idx rowsidx++)
            {
                
    cache_get_row(idx0temp), ObshakInfo[idx][oId] = strval(temp);
                
    cache_get_row(idx1temp), ObshakInfo[idx][oMoney] = strval(temp);
                
    cache_get_row(idx2temp), ObshakInfo[idx][oDrugs] = strval(temp);
                
    cache_get_row(idx3temp), ObshakInfo[idx][oMats] = strval(temp);
            }
        }
        
    printf("|Общак загружен %d - потрачено %d (ms)",rows,GetTickCount() - time);
        return 
    true;


    PHP код:
                if(IsPlayerInRangeOfPoint(playerid,2.0,2547.5444,-1281.7073,1060.9844) || IsPlayerInRangeOfPoint(playerid,2.0,2498.2788,-1711.3271,1014.7422) || IsPlayerInRangeOfPoint(playerid,2.0,-2164.8682,646.1217,1057.5938) || IsPlayerInRangeOfPoint(playerid,2.0,-3456.1500,939.1200,1035.5800))
                {

                    if(
    Player[playerid][pMember] == 5  || Player[playerid][pLeader] == 5)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[4][oMoney],ObshakInfo[4][oDrugs],ObshakInfo[4][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак LCN",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 6  || Player[playerid][pLeader] == 6)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[5][oMoney],ObshakInfo[5][oDrugs],ObshakInfo[5][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Yakuza",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 10  || Player[playerid][pLeader] == 10)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[9][oMoney],ObshakInfo[9][oDrugs],ObshakInfo[9][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Rifa",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 11  || Player[playerid][pLeader] == 11)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[10][oMoney],ObshakInfo[10][oDrugs],ObshakInfo[10][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Vagos",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 12  || Player[playerid][pLeader] == 12)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[11][oMoney],ObshakInfo[11][oDrugs],ObshakInfo[11][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Grove",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 13  || Player[playerid][pLeader] == 13)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[12][oMoney],ObshakInfo[12][oDrugs],ObshakInfo[12][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Ballas",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 14  || Player[playerid][pLeader] == 14)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[13][oMoney],ObshakInfo[13][oDrugs],ObshakInfo[13][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Los Aztecas",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 15  || Player[playerid][pLeader] == 15)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[14][oMoney],ObshakInfo[14][oDrugs],ObshakInfo[14][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Russian Mafia",string,"Выбрать","Отмена");
                    }
                    if(
    Player[playerid][pMember] == 17  || Player[playerid][pLeader] == 17)
                    {
                        
    f(string,"Деньги: {0062ff}%d$\nНаркотики: {0062ff}%d\nМатериалы: {0062ff}%d",ObshakInfo[17][oMoney],ObshakInfo[17][oDrugs],ObshakInfo[17][oMats]);
                        return 
    SPD(playerid,DIALOG_OBSHAK,DIALOG_STYLE_LIST,"{33CCFF}Общак Воров в законе",string,"Выбрать","Отмена");
                    }
                } 
    Последний раз редактировалось kala4iks; 30.01.2017 в 17:02.

  2. #2
    Аватар для Long-
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Запросы свои покажи.

  3. #3
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от Long- Посмотреть сообщение
    Запросы свои покажи.
    Все с сохранением я разобрался но теперь не пойму из за чего у меня когда выключу мод потом включу и войду в игру, открою общак там все по 0, и это до того пока я не положу или возьму что-то от туда.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    mysql log смотри
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Похоже что проблема где то в этом коде. каким то образом общак загружается с предыдущей фракции а не с той которая надо если я в 16 будет браться общак с 15, а если я в 17 то будет браться с 16.

    PHP код:
    publics LoadFraction()
    {
        new 
    rows,fieldsvresult[11];
        
    cache_get_data(rows,fields);
        
    Fraction rows-1;
        if(!
    rows)print("Нету загрузки фракций.");
        else
        {
            for(new 
    1rowsi++)
            {
                
    cache_get_row(i0vresult),     FInfo[i][fId] = strval(vresult);
                
    cache_get_row(i1vresult),     strmid(FInfo[i][fName], vresult0strlen(vresult), 255);
                
    cache_get_row(i2vresult),     strmid(FInfo[i][fLeader], vresult0strlen(vresult), 255);
                
    cache_get_row(i3vresult),     strmid(FInfo[i][fZam], vresult0strlen(vresult), 255);
                
    cache_get_row(i4vresult),     FInfo[i][fTwarn] = bool:strval(vresult);
                
    cache_get_row(i5vresult),     FInfo[i][fUnTwarn] = bool:strval(vresult);
                
    cache_get_row(i6vresult),     FInfo[i][fGiverank] = bool:strval(vresult);
                
    cache_get_row(i7vresult),     FInfo[i][fInvite] = bool:strval(vresult);
                
    cache_get_row(i8vresult),     FInfo[i][fUninvite] = bool:strval(vresult);
                
    cache_get_row(i9vresult),     FInfo[i][fObshak] = bool:strval(vresult);
                
    cache_get_row(i10vresult),     FInfo[i][fCarsspawn] = bool:strval(vresult);
                
    cache_get_row(i11vresult),     FInfo[i][fCarsfill] = bool:strval(vresult);
                
    FInfo[i][fBoardCor][0] = cache_get_field_content_float(i,"BoardCorX");
                
    FInfo[i][fBoardCor][1] = cache_get_field_content_float(i,"BoardCorY");
                
    FInfo[i][fBoardCor][2] = cache_get_field_content_float(i,"BoardCorZ");
                
    FInfo[i][fMoney] = cache_get_field_content_int(0,"FrackMoney",mySQLDB);
                
    FInfo[i][fDrugs] = cache_get_field_content_int(0,"FrackDrugs");
                
    FInfo[i][fMats] = cache_get_field_content_int(0,"FrackMats");
                if(
    FInfo[i][fId] == || FInfo[i][fId] ==|| FInfo[i][fId] == 10 || FInfo[i][fId] == 11 || FInfo[i][fId] == 12 || FInfo[i][fId] == 13 || FInfo[i][fId] == 14 || FInfo[i][fId] == 15 || FInfo[i][fId] == 17)
                {
                      
    CreateDynamicPickup(1274,1,FInfo[i][fBoardCor][0],FInfo[i][fBoardCor][1],FInfo[i][fBoardCor][2]);
                }
            }
        }
        
    printf("Фракции %d загружены, удачной игры.",rows-1);
        return 
    1;


  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    for(new 1rowsi++) 
    на
    PHP код:
    for(new irowsi++) 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. #7
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    for(new 1rowsi++) 
    на
    PHP код:
    for(new irowsi++) 
    Не помогло.

  8. #8
    Аватар для Seviel
    Пользователь

    Статус
    Оффлайн
    Регистрация
    23.12.2016
    Адрес
    Казахстан
    Сообщений
    148
    Репутация:
    26 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    Похоже что проблема где то в этом коде. каким то образом общак загружается с предыдущей фракции а не с той которая надо если я в 16 будет браться общак с 15, а если я в 17 то будет браться с 16.
    Если с предыдущего, то может наоборот:
    PHP код:
    for(new 2rowsi++) 

  9. #9
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от Seviel Посмотреть сообщение
    Если с предыдущего, то может наоборот:
    PHP код:
    for(new 2rowsi++) 
    Все разобрался была проблема с загрузкой бд. именно с кода.

    - - - Добавлено - - -

    А вот не пойму этот код с mysql R5

    PHP код:
        if(Player[playerid][pLeader] != && strcmp(sendername(playerid),FInfo[Player[playerid][pLeader]][fLeader],true) != && strcmp(FInfo[Player[playerid][pZam]][fZam],"No-One",true))
        {
                
    send(playerid0x33CCFFFF"* Ты был(а) снят(а) с поста лидера, был назначен другой лидер.");
                
    Player[playerid][pLeader] = 0;
                
    Player[playerid][pRank] = 0;
                
    Player[playerid][pMember] = 0;
                
    Player[playerid][pZam] = 0;
                if(
    Player[playerid][pPhousekey] != 0)SetPVarInt(playerid,"pSpawn",4);
                else 
    SetPVarInt(playerid,"pSpawn",0);
                
    CheckPlayerSkin(playerid);
        } 
    Но проверки почему-то не идет а mysql уже у меня R39-5

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •