Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Реклама







 
Писать по поводу рекламы VK: vk.com/sergey68

** Как получить V.I.P --> КЛИК **

Тема: Создание актёров из игры

Показано с 21 по 30 из 32

  1. #21
    *RAINBOW*

    Аватар для Twixxx

    Статус: Оффлайн
    Регистрация:20.09.2013
    Сообщений:606
    Репутация:136 [+/-] 
    Мы с тобой уже общались на "ты", думаю будет уместно.
    Наверное, ты , не понял.
    Я говорю про неоптимизированные участки кода, а не структуру инклуда.
    PHP код:
    switch(aData[a_id[playerid]-1][aStatus])
    {
        case 
    0aData[a_id[playerid]-1][aStatus]++;
        case 
    1aData[a_id[playerid]-1][aStatus]--;
    }

    =>

    aData[a_id[playerid]-1][aStatus] == aData[a_id[playerid]-1][aStatus]++ : aData[a_id[playerid]-1][aStatus]--; 
    PHP код:
    // К чему string и a_query, если вполне достаточно одного? Просто оставим один, с большим количеством ячеек.
    new string[45], a_query[75];
    format(stringsizeof(string), "Вы {"#ACOLOR"}%s {ffffff}актёра.", (aData[a_id[playerid]-1][aStatus] == 0) ? ("включили") : ("выключили"));
    SendClientMessage(playerid, -1string);
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aStatus` = '%d' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aStatus], a_id[playerid]);
    mysql_query(dbHandlea_query);

    =>

    new 
         
    a_query[75];

    format(stringsizeof(a_query), "Вы {"#ACOLOR"}%s {ffffff}актёра.", (aData[a_id[playerid]-1][aStatus] == 0) ? ("включили") : ("выключили"));
    SendClientMessage(playerid, -1a_query);
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aStatus` = '%d' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aStatus], a_id[playerid]);
    mysql_query(dbHandlea_query); 
    PHP код:
    case DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
        
        new
            
    name_actor[MAX_PLAYER_NAME], // wtf
            
    a_query[65];
            
        
    strcat(name_actorinputtext); // wtf
        
    if(!(strlen(name_actor) < MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    aData[a_id[playerid]-1][aName] = EOS;

        
    strcat(aData[a_id[playerid]-1][aName], name_actor);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);
        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;
    }

    =>

    case 
    DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
            
        if(!(
    <= strlen(inputtext) <= MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    new
            
    a_query[65];

        
    aData[a_id[playerid]-1][aName] = EOS;
        
    strmid(aData[a_id[playerid]-1][aName], inputtext0strlen(inputtext), MAX_PLAYER_NAME);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);

        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;
    }

    /* Да и вообще
        ShowPlayerDialog(playerid, DLG_CREATE2, DIALOG_STYLE_INPUT, "{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад");
    Можно было бы вынести в отдельную функцию
    */ 
    И подобного в коде более чем достаточно.
  2. 1 пользователь сказал cпасибо Twixxx за это полезное сообщение:

    #Djuga (14.02.2018)

  3. #22
    Пользователь

    Аватар для Long-

    Статус: Оффлайн
    Регистрация:14.12.2014
    Адрес:delete
    Сообщений:2,341
    Репутация:549 [+/-] 
    PHP код:
    switch(aData[a_id[playerid]-1][aStatus])
    {
        case 
    0aData[a_id[playerid]-1][aStatus]++;
        case 
    1aData[a_id[playerid]-1][aStatus]--;
    }

    =>

    aData[a_id[playerid]-1][aStatus] == aData[a_id[playerid]-1][aStatus]++ : aData[a_id[playerid]-1][aStatus]--; 
    PHP код:
    // К чему string и a_query, если вполне достаточно одного? Просто оставим один, с большим количеством ячеек.
    new string[45], a_query[75];
    format(stringsizeof(string), "Вы {"#ACOLOR"}%s {ffffff}актёра.", (aData[a_id[playerid]-1][aStatus] == 0) ? ("включили") : ("выключили"));
    SendClientMessage(playerid, -1string);
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aStatus` = '%d' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aStatus], a_id[playerid]);
    mysql_query(dbHandlea_query);

    =>

    new 
         
    a_query[75];

    format(stringsizeof(a_query), "Вы {"#ACOLOR"}%s {ffffff}актёра.", (aData[a_id[playerid]-1][aStatus] == 0) ? ("включили") : ("выключили"));
    SendClientMessage(playerid, -1a_query);
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aStatus` = '%d' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aStatus], a_id[playerid]);
    mysql_query(dbHandlea_query); 
    PHP код:
    case DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
        
        new
            
    name_actor[MAX_PLAYER_NAME], // wtf
            
    a_query[65];
            
        
    strcat(name_actorinputtext); // wtf
        
    if(!(strlen(name_actor) < MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    aData[a_id[playerid]-1][aName] = EOS;

        
    strcat(aData[a_id[playerid]-1][aName], name_actor);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);
        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;
    }

    =>

    case 
    DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
            
        if(!(
    <= strlen(inputtext) <= MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    new
            
    a_query[65];

        
    aData[a_id[playerid]-1][aName] = EOS;
        
    strmid(aData[a_id[playerid]-1][aName], inputtext0strlen(inputtext), MAX_PLAYER_NAME);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);

        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;
    }

    /* Да и вообще
        ShowPlayerDialog(playerid, DLG_CREATE2, DIALOG_STYLE_INPUT, "{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад");
    Можно было бы вынести в отдельную функцию
    */ 
    И подобного в коде более чем достаточно.
    PHP код:
    switch(aData[a_id[playerid]-1][aStatus])
    {
        case 
    0aData[a_id[playerid]-1][aStatus]++;
        case 
    1aData[a_id[playerid]-1][aStatus]--;
    }

    =>

    aData[a_id[playerid]-1][aStatus] == aData[a_id[playerid]-1][aStatus]++ : aData[a_id[playerid]-1][aStatus]--; 
    По его инклуду видно, что aStatus юзается либо 0, либо 1.
    Достаточно ,
    PHP код:
    aData[a_id[playerid]-1][aStatus] =  !aData[a_id[playerid]-1][aStatus]; 
    В теме написано, что он забыл исправить, но так что-то не исправил.

    PHP код:
    case DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
        
        new
            
    name_actor[MAX_PLAYER_NAME], // wtf
            
    a_query[65];
            
        
    strcat(name_actorinputtext); // wtf
        
    if(!(strlen(name_actor) < MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    aData[a_id[playerid]-1][aName] = EOS;

        
    strcat(aData[a_id[playerid]-1][aName], name_actor);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);
        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;
    }

    =>

    case 
    DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
            
        if(!(
    <= strlen(inputtext) <= MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    new
            
    a_query[65];

        
    aData[a_id[playerid]-1][aName] = EOS;
        
    strmid(aData[a_id[playerid]-1][aName], inputtext0strlen(inputtext), MAX_PLAYER_NAME);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);

        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;

    Здесь ты зачем то променял оптимизацию скорости, на оптимизацию памяти(Strmid'om)
    Как думаешь что будет быстрее? strmid или strcat?)
  4. #23
    *RAINBOW*

    Аватар для Twixxx

    Статус: Оффлайн
    Регистрация:20.09.2013
    Сообщений:606
    Репутация:136 [+/-] 
    PHP код:
    switch(aData[a_id[playerid]-1][aStatus])
    {
        case 
    0aData[a_id[playerid]-1][aStatus]++;
        case 
    1aData[a_id[playerid]-1][aStatus]--;
    }

    =>

    aData[a_id[playerid]-1][aStatus] == aData[a_id[playerid]-1][aStatus]++ : aData[a_id[playerid]-1][aStatus]--; 
    По его инклуду видно, что aStatus юзается либо 0, либо 1.
    Достаточно ,
    PHP код:
    aData[a_id[playerid]-1][aStatus] =  !aData[a_id[playerid]-1][aStatus]; 
    В теме написано, что он забыл исправить, но так что-то не исправил.

    PHP код:
    case DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
        
        new
            
    name_actor[MAX_PLAYER_NAME], // wtf
            
    a_query[65];
            
        
    strcat(name_actorinputtext); // wtf
        
    if(!(strlen(name_actor) < MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    aData[a_id[playerid]-1][aName] = EOS;

        
    strcat(aData[a_id[playerid]-1][aName], name_actor);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);
        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;
    }

    =>

    case 
    DLG_CREATE2:
    {
        if(!
    response)
            return 
    cmd::cactor(playerid);
            
        if(!(
    <= strlen(inputtext) <= MAX_PLAYER_NAME))
            return 
    ShowPlayerDialog(playeridDLG_CREATE2DIALOG_STYLE_INPUT"{"#ACOLOR"}Имя актёра", "{ffffff}Введите имя для Вашего актёра", "Далее", "Назад"), SendClientMessage(playerid, -1, "Имя должно быть от {"#ACOLOR"}5-ти{ffffff} до {"#ACOLOR"}24-ёх{ffffff} символов.");
            
        
    new
            
    a_query[65];

        
    aData[a_id[playerid]-1][aName] = EOS;
        
    strmid(aData[a_id[playerid]-1][aName], inputtext0strlen(inputtext), MAX_PLAYER_NAME);
        
        
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aName` = '%s' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aName], a_id[playerid]);
        
    mysql_query(dbHandlea_query);

        
    UpdateActors(a_id[playerid]-1);
        
    a_id[playerid] = -1;

    Здесь ты зачем то променял оптимизацию скорости, на оптимизацию памяти(Strmid'om)
    Как думаешь что будет быстрее? strmid или strcat?)
    Ок, ок, можно просто заменить строку с strmid на:
    PHP код:
    strcat(aData[a_id[playerid]-1][aName], inputtext); 
    Тем не менее, та переменная как была бессмысленной, так и осталась.
  5. 1 пользователь сказал cпасибо Twixxx за это полезное сообщение:

    #Djuga (14.02.2018)

  6. #24
    Пользователь

    Аватар для Long-

    Статус: Оффлайн
    Регистрация:14.12.2014
    Адрес:delete
    Сообщений:2,341
    Репутация:549 [+/-] 
    Ок, ок, можно просто заменить строку с strmid на:
    PHP код:
    strcat(aData[a_id[playerid]-1][aName], inputtext); 
    Тем не менее, та переменная как была бессмысленной, так и осталась.
    Есть мелкие недочеты по системе, соглашусь, но не критические, которые говоришь ты)
    Переменная бессмысленна , тем не менее, я оптимизировал этот инклуд алгоритмы его, не саму структуру, с переменной попутал тем , что писал его не я, и немного прошляпил.

    Сообщение от Twixxx
    И подобного в коде более чем достаточно.
    Хочу посмотреть где еще есть недочеты, может что еще прошляпил
  7. 1 пользователь сказал cпасибо Long- за это полезное сообщение:

    #Djuga (13.02.2018)

  8. #25
    Пользователь

    Аватар для fuki

    Статус: Оффлайн
    Регистрация:13.11.2011
    Сообщений:56
    Репутация:-3 [+/-] 
    Довольно хорошо, в принципе..+ автору.

    //// К чему string и a_query, если вполне достаточно одного? Просто оставим один, с большим количеством ячеек. - это критично? сервак будет лагать или не будет включаться или что?
    Я думаю ничего не будет)) так что возьмите тему или же новую и оптимизированный варик опубликуйте в комменты строчить ( какие мы крутые скриптеры а они лажу пишут ) как то не ахти...поискать ваших уроков так их вроде вообще нету)
    Последний раз редактировалось fuki; 10.02.2018 в 22:41.
  9. #26
    Пользователь

    Аватар для #Kai-

    Статус: Оффлайн
    Регистрация:10.04.2017
    Сообщений:169
    Репутация:52 [+/-] 
    Поезд ушел, моего лайка ты не получишь *Злобный смех*
    Если хочешь идти быстро, иди один.
    Если хочешь идти далеко, нужна команда!
  10. #27
    Пользователь

    Аватар для #Djuga

    Статус: Онлайн
    Регистрация:21.09.2017
    Адрес:localhost
    Сообщений:277
    Репутация:158 [+/-] 
    Поезд ушел, моего лайка ты не получишь *Злобный смех*
    Скоро будет.......)

    Toxic RolePlay

    vk.com/rptoxic
    [Скрыть]



    Разработчик таких серверов как:

    Toxic RolePlay
    CruelWorld
    Моё сердечко принадлежит:
    Long -
  11. #28
    Пользователь

    Аватар для Naemnik43

    Статус: Оффлайн
    Регистрация:18.06.2013
    Сообщений:654
    Репутация:64 [+/-] 
    Высоту текста над головой сделать бы поменьше, как по мне.
    Skype: Naemnik.3
    Vk: vk.com/unrazor
    Mail: Naemnik.3@yandex.ru
  12. 1 пользователь сказал cпасибо Naemnik43 за это полезное сообщение:

    #Djuga (13.02.2018)

  13. #29
    *RAINBOW*

    Аватар для Twixxx

    Статус: Оффлайн
    Регистрация:20.09.2013
    Сообщений:606
    Репутация:136 [+/-] 
    Довольно хорошо, в принципе..+ автору.

    //// К чему string и a_query, если вполне достаточно одного? Просто оставим один, с большим количеством ячеек. - это критично? сервак будет лагать или не будет включаться или что?
    Я думаю ничего не будет)) так что возьмите тему или же новую и оптимизированный варик опубликуйте в комменты строчить ( какие мы крутые скриптеры а они лажу пишут ) как то не ахти...поискать ваших уроков так их вроде вообще нету)
    Дело не в том, "ляжет" сервер или нет, а в оптимизации. И да, с чего бы мне публиковать какие-либо уроки? Захочу - опубликую, нет - нет. Мой код и мои работы видели.
  14. 1 пользователь сказал cпасибо Twixxx за это полезное сообщение:

    #Djuga (13.02.2018)

  15. #30
    Пользователь

    Аватар для Assembler

    Статус: Оффлайн
    Регистрация:12.02.2018
    Сообщений:39
    Репутация:6 [+/-] 
    Раз уж речь зашла об оптимизации, то зачем вот тут
    PHP код:
                switch(aData[a_id[playerid]-1][aStatus])
                {
                    case 
    0aData[a_id[playerid]-1][aStatus]++;
                    case 
    1aData[a_id[playerid]-1][aStatus]--;
                }
                new 
    string[45], a_query[75];
                
    format(stringsizeof(string), "Вы {"#ACOLOR"}%s {ffffff}актёра.", (aData[a_id[playerid]-1][aStatus] == 0) ? ("включили") : ("выключили"));
                
    SendClientMessage(playerid, -1string);
                
    format(a_querysizeof(a_query), "UPDATE `actors` SET `aStatus` = '%d' WHERE `aID` = '%d'"aData[a_id[playerid]-1][aStatus], a_id[playerid]);
                
    mysql_query(dbHandlea_query);
                
    DestroyDynamic3DTextLabel(aData[a_id[playerid]-1][aLabel]);
                
    DestroyActor(aData[a_id[playerid]-1][aActor]);
                
    mysql_tquery(dbHandle"SELECT * FROM `actors`","LoadActors");
                
    a_id[playerid] = -1
    вы постоянно заставляете сначала обращаться к массиву, а потом ещё и единицу отнимать от результата? Что мешает создать переменную, записать в неё значение "a_id[playerid]-1" и уже использовать это значение, не нагружая процессор лишними действиями?
    Такая проблема не только в данном участке кода имеется.


    Имена макросов для диалогов так же оставляют желать лучшего, хоть это и не относится к оптимизации. Во-первых, они толком не передают суть диалога, а во-вторых, имя "DLG_COLOR" вполне уже может оказаться занято, как и остальные имена, у которых нет ни префиксов инклуда, ни чего-либо ещё.


    В запросах зачем-то используются апострофы, хотя имена таблиц/столбцов не содержат пробелов/не состоят из зарезервированных слов. Только лишнюю память тратите и процессорное время на запись лишних символов.


    Так же "порадовал" макрос
    PHP код:
    #define ACOLOR             2F8C75 
    имя которого идентично с членом перечисления E_ACTOR_INFO
    PHP код:
    aColor 
    Зачем тут вообще макрос нужен? Вы ведь даже не предусмотрели возможности его переопределения извне инклуда. Соответственно, чтоб изменить цвет, придётся лезть в исходники (и почему тогда для остальных цветов вы не сделали макросы?).


    PHP код:
    switch(aData[a][aStatus])
            {
                case 
    0:
                {
                    
    aData[a][aLabel] = CreateDynamic3DTextLabel("_", -1aData[a][aPos][0], aData[a][aPos][1], aData[a][aPos][2]+1.530.0INVALID_PLAYER_IDINVALID_VEHICLE_ID0aData[a][aVirtual], -1, -130.0);
                    
    aData[a][aActor] = CreateActor(aData[a][aSkin], aData[a][aPos][0], aData[a][aPos][1], aData[a][aPos][2], aData[a][aAngle]);
                    
    SetActorVirtualWorld(aData[a][aActor], aData[a][aVirtual]);
                    
    UpdateActors(a);
                }
            } 
    Зачем тут switch?


    Массив в UpdateActors лучше поместить в сегмент данных (объявить его через атрибут static), так как функция вызывается в цикле.



    Так же не совсем понятна логика вот этого кода
    PHP код:
    if(!listitem)
    {
        new
            
    a_total,
            
    string[45],
            
    str[500];
                
        for(new 
    aa_ammounta++)
        
    format(strsizeof(str), "%s{ffffff}%d\t{ffffff}%s\n"straaData[a][aName]), a_total++;
                
        
    format(stringsizeof(string), "{FFFFFF}Актёры. Всего {"#ACOLOR"}%d", a_total);
        
    ShowPlayerDialog(playeridDLG_CHANGEMENUDIALOG_STYLE_TABLISTstringstr"Далее""Назад");

    А именно зачем тут переменная a_total, значение которой изменяется каждую итерацию, если есть переменная a_ammount, значение которой и так уже содержит число итераций цикла.



    И касаемо вот этого
    PHP код:
    SetTimer("@__loadactors"500false);//Таймер, так как не успевает загрузиться (Этот инклуд выполняется быстрее настоящего OnGameModeInit) 
    Что бы не делать такие велосипеды, достаточно вникнуть в работу перехватов и сделать вот так
    PHP код:
    public OnGameModeInit()

        
    #if defined actor_OnGameModeInit
        
    actor_OnGameModeInit();
        
    #endif
        
    print("\n________________________________________________\n");
        print(
    "\tActors.inc by #Djuga loaded.");
        print(
    "Special for pawno-info.ru and forum.meffos.com");
        print(
    "\n________________________________________________\n");
        
        
    SetTimer("@__loadactors"500false);//Таймер, так как не успевает загрузиться (Этот инклуд выполняется быстрее настоящего OnGameModeInit)
        
    return true;

    И теперь твой код благополучно вызывается после основного коллбэка (естественно, если твой инклуд будет стоять последним или если после твоего инклуда не будет перехватов OnGameModeInit). Это будет гораздо надежнее, нежели таймер, который может сработать раньше, чем обработается код в OnGameModeInit и произойдёт подключение к БД.
    Вообще для таких случаев лучше не пытаться делать "модно", а сделать как требует того реализация и просто поместить код в отдельную функцию, указав, что нужно поставить вызов этой функции в конец OnGameModeInit. Тогда не нужно будет изобретать велосипеды с квадратными колёсами и всё будет работать как нужно.



    И кто вас научил так оформлять перехваты? Зачем часть кода помещать в самый конец скрипта?
Страница 3 из 4 Первая 1234 Последняя
  • К странице:

Ваши права

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