Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 28

Тема: ГангЗоны

  1. #1
    Аватар для ALIT13
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±

    ГангЗоны

    Не загружает ганг зоны почему не пойму переводил с
    PHP код:
    forward load_gz();
    public 
    load_gz()
    {
        new 
    rows;
        
    cache_get_row_count(rows);
        if(
    rows)
        {
            for(new 
    idx 0idx rowsidx++)
            {
                
    cache_get_value_name_int(idx,"id"gangzone_Info[idx][gID]);
                
    cache_get_value_name_float(idx"zone_x"gangzone_Info[idx][gCoords][0]);
                
    cache_get_value_name_float(idx"zone_y"gangzone_Info[idx][gCoords][1]);
                
    cache_get_value_name_float(idx"zone_xM"gangzone_Info[idx][gCoords][2]);
                
    cache_get_value_name_float(idx"zone_yM"gangzone_Info[idx][gCoords][3]);
                
    cache_get_value_name_int(idx"fraction"gangzone_Info[idx][gang_terr]);
                
    TOTALGZ++;
                
    GangZone[idx] = GangZoneCreate(gangzone_Info[idx][gCoords][0],gangzone_Info[idx][gCoords][1],gangzone_Info[idx][gCoords][2],gangzone_Info[idx][gCoords][3]);
                
    ZoneOnBattle[idx] = 0;
                
    GZSafeTime[idx] = 0;
            }
        }
        
    printf("[%i штук] >> загружены gangzone"TOTALGZ);
        return 
    1;

    На

    PHP код:
    publicsload_gz()
    {
        new 
    rows;
        
    cache_get_row_count(rows);
        if(
    rows)
        {
            for(new 
    idx 0idx rowsidx++)
            {
                
    gangzone_Info[idx][gID] = cache_get_field_content_int(idx,"id");
                
    gangzone_Info[idx][gCoords][0] = cache_get_field_content_float(idx"zone_x");
                
    gangzone_Info[idx][gCoords][1] = cache_get_field_content_float(idx"zone_y");
                
    gangzone_Info[idx][gCoords][2] = cache_get_field_content_float(idx"zone_xM");
                
    gangzone_Info[idx][gCoords][3] = cache_get_field_content_float(idx"zone_yM");
                
    gangzone_Info[idx][gang_terr] = cache_get_field_content_int(idx"fraction");

                
    TOTALGZ++;
                
    GangZone[idx] = GangZoneCreate(gangzone_Info[idx][gCoords][0],gangzone_Info[idx][gCoords][1],gangzone_Info[idx][gCoords][2],gangzone_Info[idx][gCoords][3]);
                
    ZoneOnBattle[idx] = 0;
                
    GZSafeTime[idx] = 0;
            }
        }
        
    printf("[%i штук] >> загружены gangzone"TOTALGZ);
        return 
    1;


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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Лучше вот так
    PHP код:
    publicsload_gz() 

        
    cache_get_row_count(TOTALGZ); 
        if(
    TOTALGZ
        { 
            new 
    Float:min_x,
                
    Float:min_y,
                
    Float:max_x,
                
    Float:max_y
            for(new 
    idx 0idx TOTALGZidx++) 
            { 
                
    gangzone_Info[idx][gID] = cache_get_field_content_int(idx,"id"); 
                
    min_x gangzone_Info[idx][gCoords][0] = cache_get_field_content_float(idx"zone_x"); 
                
    min_y gangzone_Info[idx][gCoords][1] = cache_get_field_content_float(idx"zone_y"); 
                
    max_x gangzone_Info[idx][gCoords][2] = cache_get_field_content_float(idx"zone_xM"); 
                
    max_y gangzone_Info[idx][gCoords][3] = cache_get_field_content_float(idx"zone_yM"); 
                
    gangzone_Info[idx][gang_terr] = cache_get_field_content_int(idx"fraction"); 

                
    GangZone[idx] = GangZoneCreate(min_xmin_ymax_xmax_y); 
                
    //ZoneOnBattle[idx] = GZSafeTime[idx] = 0; // Если загружаешь зоны только при старте сервера (рестарте), то эта строка не нужна
            

        } 
        
    printf("[%i штук] >> загружены gangzone"TOTALGZ); 
        return 
    1

    Но проблемы в коде пока не видно. Покажи логи MySQL и если в них ничего нет, залогируй данные, которые передаются в TOTALGZ (сразу после cache_get_row_count) и переменные с координатами (перед созданием гангзоны)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    PHP код:
    [14:03:05] [ERRORCMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Pohodka=0, Member=0, Leader=0, Rank=0, Mute=0 WHERE Name='Edi_Alvares'' at line 1
    [14:03:06] [ERRORCMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Pohodka=0, Member=0, Leader=0, Rank=0, Mute=0 WHERE Name='Edi_Alvares'' at line 1
    [14:03:07] [ERRORCMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Pohodka=0, Member=0, Leader=0, Rank=0, Mute=0 WHERE Name='Edi_Alvares'' at line 1 
    PHP код:
    stock SavePlayer(playerid)
    {
        if(
    Logged[playerid] == true || IsPlayerConnected(playerid))
        {
             new 
    query[500] = "UPDATE "table_account" SET ";

             
    format(querysizeof(query), "%s Skin=%d,",             queryPlayerInfo[playerid][pSkin]);//7+3
            
    format(querysizeof(query), "%s Sex=%d,",               queryPlayerInfo[playerid][pSex]);//6+1
            
    format(querysizeof(query), "%s Cash=%d,",             queryPlayerInfo[playerid][pCash]);//7+11
            
    format(querysizeof(query), "%s Level=%d,",             queryPlayerInfo[playerid][pLevel]);//8+11
            
    format(querysizeof(query), "%s Admin=%d,",             queryPlayerInfo[playerid][pAdmin]);//8+2
            
    format(querysizeof(query), "%s Rasa=%d,",             queryPlayerInfo[playerid][pRasa]);//7+2
            
    format(querysizeof(query), "%s Gorod=%d,",             queryPlayerInfo[playerid][pGorod]);//7+1
            
    format(querysizeof(query), "%s Exp=%d,",              queryPlayerInfo[playerid][pExp]);
            
    format(querysizeof(query), "%s AdminKey=%s,",            queryPlayerInfo[playerid][pAdminKey]);
            
            
    format(querysizeof(query), "%s Pohodka=%d,",          queryPlayerInfo[playerid][pPohodka]);
            
    format(querysizeof(query), "%s Member=%d,",             queryPlayerInfo[playerid][pMember]);
            
    format(querysizeof(query), "%s Leader=%d,",             queryPlayerInfo[playerid][pLeader]);
            
    format(querysizeof(query), "%s Rank=%d,",               queryPlayerInfo[playerid][pRank]);
            
    format(querysizeof(query), "%s Mute=%d",               queryPlayerInfo[playerid][pMute]);

            
    format(querysizeof(query), "%s WHERE Name='%s'"queryGN(playerid));//14+MAX_PLAYER_NAME
            
    mysql_function_query(mysql_connectionqueryfalse"""");
        }
        else 
    printf("Îøèáêà ñîõðàí¸íèÿ.");
        return 
    true;

    Последний раз редактировалось ALIT13; 08.04.2018 в 11:04.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Спецификатор %s нужно обрамлять в апострофы, дабы запрос понимал где началась строка и где она закончилась.
    И ты каждую секунду сохраняешь аккаунт что ли? О_о Да ещё и сохраняешь его для неавторизированных пользователей
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    в начале format(query, sizeof(query), "%s Skin=%d,",

    Так
    PHP код:
    stock SavePlayer(playerid)
    {
        if(
    Logged[playerid] == true)
        {
             new 
    query[500] = "UPDATE "table_account" SET ";

             
    format(querysizeof(query), "%s `Skin` = '%d',",             queryPlayerInfo[playerid][pSkin]);//7+3
            
    format(querysizeof(query), "%s `Sex` = '%d',",               queryPlayerInfo[playerid][pSex]);//6+1
            
    format(querysizeof(query), "%s `Cash` = '%d',",             queryPlayerInfo[playerid][pCash]);//7+11
            
    format(querysizeof(query), "%s `Level` = '%d',",             queryPlayerInfo[playerid][pLevel]);//8+11
            
    format(querysizeof(query), "%s `Admin` = '%d',",             queryPlayerInfo[playerid][pAdmin]);//8+2
            
    format(querysizeof(query), "%s `Rasa` = '%d',",             queryPlayerInfo[playerid][pRasa]);//7+2
            
    format(querysizeof(query), "%s `Gorod` = '%d',",             queryPlayerInfo[playerid][pGorod]);//7+1
            
    format(querysizeof(query), "%s `Exp` = '%d',",              queryPlayerInfo[playerid][pExp]);
            
    format(querysizeof(query), "%s `AdminKey` = '%s',",            queryPlayerInfo[playerid][pAdminKey]);
            
            
    format(querysizeof(query), "%s `Pohodka` = '%d',",          queryPlayerInfo[playerid][pPohodka]);
            
    format(querysizeof(query), "%s `Member` = '%d',",             queryPlayerInfo[playerid][pMember]);
            
    format(querysizeof(query), "%s `Leader` = '%d',",             queryPlayerInfo[playerid][pLeader]);
            
    format(querysizeof(query), "%s `Rank` = '%d',",               queryPlayerInfo[playerid][pRank]);
            
    format(querysizeof(query), "%s `Mute` = '%d'",               queryPlayerInfo[playerid][pMute]);

            
    format(querysizeof(query), "%s WHERE Name = '%s'"queryGN(playerid));//14+MAX_PLAYER_NAME
            
    mysql_function_query(mysql_connectionqueryfalse"""");
        }
        else 
    printf("Ошибка сохранёния.");
        return 
    true;

    В базе записывает всё а ошибка выдаётся в логах мускл

    PHP код:
    [14:03:05] [ERRORCMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Pohodka=0, Member=0, Leader=0, Rank=0, Mute=0 WHERE Name='Edi_Alvares'' at line 1
    [14:03:06] [ERRORCMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Pohodka=0, Member=0, Leader=0, Rank=0, Mute=0 WHERE Name='Edi_Al 
    Последний раз редактировалось ALIT13; 08.04.2018 в 11:19.

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    Всё усёк , ну с гангзонами не пойму не загружает всё же в логах не чего нету

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    24.05.2014
    Сообщений
    346
    Репутация:
    2 ±
    перед cache_get_row_count(TOTALGZ); ?
    printf("%i запись создания", TOTALGZ);

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    publicsload_gz() 

        
    cache_get_row_count(TOTALGZ); 
        
    printf("\n\n\nTOTALGZ = %d"TOTALGZ);
        if(
    TOTALGZ
        { 
            new 
    Float:min_x,
                
    Float:min_y,
                
    Float:max_x,
                
    Float:max_y
            for(new 
    idx 0idx TOTALGZidx++) 
            { 
                
    gangzone_Info[idx][gID] = cache_get_field_content_int(idx,"id"); 
                
    min_x gangzone_Info[idx][gCoords][0] = cache_get_field_content_float(idx"zone_x"); 
                
    min_y gangzone_Info[idx][gCoords][1] = cache_get_field_content_float(idx"zone_y"); 
                
    max_x gangzone_Info[idx][gCoords][2] = cache_get_field_content_float(idx"zone_xM"); 
                
    max_y gangzone_Info[idx][gCoords][3] = cache_get_field_content_float(idx"zone_yM"); 
                
    gangzone_Info[idx][gang_terr] = cache_get_field_content_int(idx"fraction"); 

                
    printf("%d) %f, %f, %f, %f"idxmin_xmin_ymax_xmax_y);
                
    GangZone[idx] = GangZoneCreate(min_xmin_ymax_xmax_y); 
                
    //ZoneOnBattle[idx] = GZSafeTime[idx] = 0; // Если загружаешь зоны только при старте сервера (рестарте), то эта строка не нужна
            

        } 
        
    printf("[%i штук] >> загружены gangzone"TOTALGZ); 
        return 
    1

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

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

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

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

Ваши права

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