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

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    72
    Репутация:
    16 ±

    Что бы я не делал, всегда переменная == 0 .__.

    PHP код:
        case GANG_CREATE_FIN// Регистрация банды
            
    {
                if(
    response == 1)
                {
                        new 
    str[700];
                        
    GangsCount++;
                        new 
    = (random(50)+random(50)+random(50)+random(50)+1);
                        new 
    color[7], y,m,dregdate[50], name[50];
                        
    getdate(y,m,d);
                        
    GetPVarString(playerid,"Gang_Create_Name",name,sizeof(name));
                        
    GetPVarString(playerid,"Gang_Create_Color",color,sizeof(color));
                        
    format(regdate,sizeof(regdate),"%02d.%02d.%d",d,m,y);
                        
    format(str,700,"INSERT INTO \
                        GANGS (ID, NAME, COLOR, REGDATE, SX, SY, SZ, SA, SI, SW, CASH, SKIN, KILLS, DEATHS, DRIFTSCR, CREATOR, RNAME1, RNAME2, RNAME3, RNAME4, RNAME5, RNAME6) \
                        VALUES ('%d', '%s', '%s', '%s', '-304.7875', '1298.8138', '53.4743', '0', '0', '0', '0', '23', '0', '0', '0', '%s', 'Новичёк', 'Боец', 'Продвинутый', 'Ветеран', 'Элита', 'Лидер');"
    , \
                        
    gnamecolorregdatepNick(playerid));
                        
    db_query(ServerBasestr);
                        
    PlayerInfo[playerid][GangID] = g;
                        
    PlayerInfo[playerid][GangR] = 6;
                        
    SetPlayerSkin(playerid23);
                        
    SetPlayerColor(playerid,HexToInt(color));
                        
    format(GangInfo[g][Name],50,"%s",name);
                        
    GangInfo[g][Color] = color;
                        
    GangInfo[g][Spawn_X] = -304.7875;
                        
    GangInfo[g][Spawn_Y] = 1298.8138;
                        
    GangInfo[g][Spawn_Z] = 53.4743;
                        
    GangInfo[g][Spawn_A] = 0;
                        
    GangInfo[g][Spawn_Interior] = 0;
                        
    GangInfo[g][Spawn_VirtualWorld] = 0;
                        
    GangInfo[g][Cash] = 0;
                        
    GangInfo[g][Skin] = 23;
                        
    GangInfo[g][AllKills] = 0;
                        
    GangInfo[g][AllDeaths] = 0;
                        
    GangInfo[g][AllDrift] = 0;
                        
    format(GangInfo[g][RangName1],50,"Новичёк");
                        
    format(GangInfo[g][RangName2],50,"Боец");
                        
    format(GangInfo[g][RangName3],50,"Продвинутый");
                        
    format(GangInfo[g][RangName4],50,"Ветеран");
                        
    format(GangInfo[g][RangName5],50,"Элита");
                        
    format(GangInfo[g][RangName6],50,"Лидер");
                        
    ShowPlayerDialog(playerid,NOMENU,DIALOG_STYLE_MSGBOX,"Регистрация","{FF0000}___________________________________\n\n{FFFFFF}Вы успешно создали банду!\n""OK""");
                }
                else return 
    SendClientMessage(playerid,COLOR_MSG,""WARN_MSG"Вы отменили создание банды");
            } 
    Переменная g ВСЕГДА почему то 0! Я пробовал всячески, не получается почему то.
    По идеи мне нужен свободный ID для банды, от 1 и выше.
    PHP код:
    enum GangData
    {
        
    Name[50],
        
    Color[7],
        
    Float:Spawn_X,
        
    Float:Spawn_Y,
        
    Float:Spawn_Z,
        
    Float:Spawn_A,
        
    Spawn_Interior,
        
    Spawn_VirtualWorld,
        
    Cash,
        
    Skin,
        
    AllKills,
        
    AllDeaths,
        
    AllDrift,
        
    RangName1[50],
        
    RangName2[50],
        
    RangName3[50],
        
    RangName4[50],
        
    RangName5[50],
        
    RangName6[50],
    }

    new 
    GangInfo[MAX_GANGS][GangData]; 
    Я пробовал и циклами, и создавал глобальную переменную со счётом банд и добавлял один и уравнивал, всё-равно g == 0, хоть убейся. А если g == 0, то банды, которую я создаю, не существует, ибо проверки у меня if(PlayerInfo[playerid][GangID] != 0) ну вы поняли. Я убил на это часа 2-3.

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

    Статус
    Оффлайн
    Регистрация
    05.12.2013
    Сообщений
    188
    Репутация:
    116 ±
    Возможно у тебя в базе данных на ID стоит автоинкремент, по этому и 0 всегда (c) Tracker1, проверил только-что, с рандомом всё в порядке.

  3. 2 пользователя(ей) сказали cпасибо:
    KakbeYura (03.01.2014) Salvacore (03.01.2014)
  4. #3
    Аватар для KakbeYura
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    72
    Репутация:
    16 ±
    Исправил сам, ну а если кому то интересно, то вот:
    PHP код:
    enum GangData
    {
        
    bool:BusyID false,
        
    Name[50],
        
    Color[7],
        
    Float:Spawn_X,
        
    Float:Spawn_Y,
        
    Float:Spawn_Z,
        
    Float:Spawn_A,
        
    Spawn_Interior,
        
    Spawn_VirtualWorld,
        
    Cash,
        
    Skin,
        
    AllKills,
        
    AllDeaths,
        
    AllDrift,
        
    RangName1[50],
        
    RangName2[50],
        
    RangName3[50],
        
    RangName4[50],
        
    RangName5[50],
        
    RangName6[50],
    }

    new 
    GangInfo[MAX_GANGS][GangData]; 
    PHP код:
        for(new count 1count<MAX_GANGScount++)
        {
            new 
    str[500];
              
    format(str,500,"SELECT * FROM GANGS WHERE ID = '%d' LIMIT 1",count);
              
    u_result db_query(ServerBase,str);
            if(
    db_num_rows(u_result))
            {
                new 
    Field[50];
                
    db_get_field_assoc(u_result"NAME"Fieldsizeof(Field)),  GangInfo[count][Name] = Field;
                
    db_get_field_assoc(u_result"COLOR"Fieldsizeof(Field)), format(GangInfo[count][Color],7,"%s",Field);
                
    db_get_field_assoc(u_result"SX"Fieldsizeof(Field)),      GangInfo[count][Spawn_X] = floatstr(Field);
                
    db_get_field_assoc(u_result"SY"Fieldsizeof(Field)),      GangInfo[count][Spawn_Y] = floatstr(Field);
                
    db_get_field_assoc(u_result"SZ"Fieldsizeof(Field)),      GangInfo[count][Spawn_Z] = floatstr(Field);
                
    db_get_field_assoc(u_result"SA"Fieldsizeof(Field)),      GangInfo[count][Spawn_A] = float(strval(Field));
                
    db_get_field_assoc(u_result"SI"Fieldsizeof(Field)),      GangInfo[count][Spawn_Interior] = strval(Field);
                
    db_get_field_assoc(u_result"SW"Fieldsizeof(Field)),      GangInfo[count][Spawn_VirtualWorld] = strval(Field);
                
    db_get_field_assoc(u_result"CASH"Fieldsizeof(Field)),  GangInfo[count][Cash] = strval(Field);
                
    db_get_field_assoc(u_result"SKIN"Fieldsizeof(Field)),  GangInfo[count][Skin] = strval(Field);
                
    db_get_field_assoc(u_result"KILLS"Fieldsizeof(Field)), GangInfo[count][AllKills] = strval(Field);
                
    db_get_field_assoc(u_result"DEATHS"Fieldsizeof(Field)),GangInfo[count][AllDeaths] = strval(Field);
                
    db_get_field_assoc(u_result"RNAME1"Fieldsizeof(Field)),GangInfo[count][RangName1] = Field;
                
    db_get_field_assoc(u_result"RNAME2"Fieldsizeof(Field)),GangInfo[count][RangName2] = Field;
                
    db_get_field_assoc(u_result"RNAME3"Fieldsizeof(Field)),GangInfo[count][RangName3] = Field;
                
    db_get_field_assoc(u_result"RNAME4"Fieldsizeof(Field)),GangInfo[count][RangName4] = Field;
                
    db_get_field_assoc(u_result"RNAME5"Fieldsizeof(Field)),GangInfo[count][RangName5] = Field;
                
    db_get_field_assoc(u_result"RNAME6"Fieldsizeof(Field)),GangInfo[count][RangName6] = Field;
                
    GangInfo[count][BusyID] = true;
            }
            else 
    GangInfo[count][BusyID] = false;
        } 
    PHP код:
        case GANG_CREATE_FIN// Регистрация банды
            
    {
                if(
    response == 1)
                {
                        new 
    str[700];
                        new 
    g;
                        do 
    g++;
                        while(
    GangInfo[g][BusyID] != false);
                        
                        new 
    color[7], y,m,dregdate[50], name[50];
                        
    getdate(y,m,d);
                        
    GetPVarString(playerid,"Gang_Create_Name",name,sizeof(name));
                        
    GetPVarString(playerid,"Gang_Create_Color",color,sizeof(color));
                        
    DeletePVar(playerid,"Gang_Create_Name");
                        
    DeletePVar(playerid,"Gang_Create_Color");
                        
    format(regdate,sizeof(regdate),"%02d.%02d.%d",d,m,y);
                        
                        
    format(str,700,"INSERT INTO \
                        GANGS (ID, NAME, COLOR, REGDATE, SX, SY, SZ, SA, SI, SW, CASH, SKIN, KILLS, DEATHS, DRIFTSCR, CREATOR, RNAME1, RNAME2, RNAME3, RNAME4, RNAME5, RNAME6) \
                        VALUES ('%d', '%s', '%s', '%s', '-304.7875', '1298.8138', '53.4743', '0', '0', '0', '0', '23', '0', '0', '0', '%s', 'Новичёк', 'Боец', 'Продвинутый', 'Ветеран', 'Элита', 'Лидер');"
    , \
                        
    gnamecolorregdatepNick(playerid));
                        
    db_query(ServerBasestr);
                        
                        new 
    color2[10];
                        
    format(color2,sizeof(color2), "%sFF"color);
                        
    SetPlayerColor(playerid,HexToInt(color2));
                        
    PlayerInfo[playerid][GangID] = g;
                        
    PlayerInfo[playerid][GangR] = 6;
                        
    SetPlayerSkin(playerid23);
                        
    SavePlayerGang(playerid);
                        
                        
    format(GangInfo[g][Name],50,"%s",name);
                        
    GangInfo[g][BusyID] = true;
                        
    GangInfo[g][Color] = color;
                        
    GangInfo[g][Spawn_X] = -304.7875;
                        
    GangInfo[g][Spawn_Y] = 1298.8138;
                        
    GangInfo[g][Spawn_Z] = 53.4743;
                        
    GangInfo[g][Spawn_A] = 0;
                        
    GangInfo[g][Spawn_Interior] = 0;
                        
    GangInfo[g][Spawn_VirtualWorld] = 0;
                        
    GangInfo[g][Cash] = 0;
                        
    GangInfo[g][Skin] = 23;
                        
    GangInfo[g][AllKills] = 0;
                        
    GangInfo[g][AllDeaths] = 0;
                        
    GangInfo[g][AllDrift] = 0;
                        
    format(GangInfo[g][RangName1],50,"Новичёк");
                        
    format(GangInfo[g][RangName2],50,"Боец");
                        
    format(GangInfo[g][RangName3],50,"Продвинутый");
                        
    format(GangInfo[g][RangName4],50,"Ветеран");
                        
    format(GangInfo[g][RangName5],50,"Элита");
                        
    format(GangInfo[g][RangName6],50,"Лидер");
                        
                        
    ShowPlayerDialog(playerid,NOMENU,DIALOG_STYLE_MSGBOX,"Регистрация","{FF0000}___________________________________\n\n{FFFFFF}Вы успешно создали банду!\n""OK""");
                }
                else return 
    SendClientMessage(playerid,COLOR_MSG,""WARN_MSG"Вы отменили создание банды");
            } 

  5. #4
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±
    Закрыто

 

 

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

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

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

Ваши права

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