Переезд с aes_main на aes_v

Сообщения
94
Реакции
13
Помог
2 раз(а)
Всем доброго времени суток. Переводил плагин sf_bets на новый лад. Практически заменил все что нашел в новом инклюде.
Может кто подскажет как поправить данные ошибки?
19546

Я понимаю что нужно заменить... Но на что?... Подскажите пожалуйста. За ранее большое спасибо.
Оба инклюда и исходный код прикрепил. Что бы не искать
 

Download all Attachments

Сообщения
2,288
Реакции
1,739
Помог
31 раз(а)
D1m0n41k, В теме должны быть опубликованы попытки (diff кода или последовательность действий) самостоятельного поиска решения.

К тому же, вы бы получили решение намного быстрее
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
344
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Pokemoshka, А лучше "до" и "после", чтобы спокойно можно было закинуть в диффчекер и посмотреть что он там начудил.
 
Сообщения
94
Реакции
13
Помог
2 раз(а)
Pokemoshka, в исходнике, поменял следующее:
  • Заменил инклюд
C++:
#if defined AES
    // #include <aes_main>
    #include <aes_v>
    #define aes_add_player_exp_f(%0,%1) aes_set_player_exp(%0,aes_get_player_exp(%0) + %1)
    #define aes_add_player_bonus_f(%0,%1) aes_set_player_bonus(%0,aes_get_player_bonus(%0) + %1)
#endif
  • Заменил нативы выдачи бонусов и опыта в паблике client_disconnected(id)
C++:
        #if defined AES
        if(players_data[id][BET_EXP])
        {
            // aes_add_player_exp(id,-players_data[id][BET_EXP],true)
            aes_add_player_exp_f(id, -players_data[id][BET_EXP])
        }
       
        if(players_data[id][BET_BONUS])
        {
            // aes_add_player_bonus(id,-players_data[id][BET_BONUS])
            aes_add_player_bonus_f(id, -players_data[id][BET_BONUS])
        }
        #endif
  • В паблике Bet_End1x1(win_practicant) так же заменил нативы выдачи:
C++:
            #if defined AES
            // выдаем опыт
            prize = Bet_GetWinPool(player,BET_EXP,win_practicant)
           
            if(prize)
            {
                prize_len += formatex(prize_str[prize_len],charsmax(prize_str) - prize_len,"%s%L",
                    prize_len ? ", " : "",
                    player,"SF_BET15",
                    prize
                )

                // aes_add_player_exp(player,prize)
                aes_add_player_exp_f(player,prize)
            }
           
            // выдаем бонусы
            prize = Bet_GetWinPool(player,BET_BONUS,win_practicant)
           
            if(prize)
            {
                prize_len += formatex(prize_str[prize_len],charsmax(prize_str) - prize_len,"%s%L",
                    prize_len ? ", " : "",
                    player,"SF_BET21",
                    prize
                )

                // aes_add_player_bonus(player,prize)
                aes_add_player_bonus_f(player,prize)
            }
            #endif
  • Столкнулся с проблемой замены в паблике Bet_MenuHandler(id,menu,r_item)
C++:
            #if defined AES
            new rt[AES_ST_END]
            aes_get_player_stats(id,rt)
           
            // ставим опыт
           
            if(players_data[id][BET_EXP])
            {
                if(rt[AES_ST_EXP] < players_data[id][BET_EXP])
                {
                    Bet_MenuFormat(id)
                    menu_display(id,menu)
                   
                    return PLUGIN_HANDLED;
                }
            }
           
            if(players_data[id][BET_BONUS])
            {
                if(rt[AES_ST_BONUSES] < players_data[id][BET_BONUS])
                {
                    Bet_MenuFormat(id)
                    menu_display(id,menu)
                   
                    return PLUGIN_HANDLED;
                }
            }
            #endif

// В этом же паблике ниже:
                #if defined AES
                case 3,4:
                {
                    new rt[AES_ST_END]
                    aes_get_player_stats(id,rt)
                   
                    if(
                        (item == 3 && rt[AES_ST_EXP] < players_data[id][sp])
                        ||
                        (item == 4 && rt[AES_ST_BONUSES] < players_data[id][sp])
                    )
                    {
                        players_data[id][sp] = 0;
                    }
                }
                #endif
 
Сообщения
94
Реакции
13
Помог
2 раз(а)
Из последних правок:
  • Заменил:
C++:
-- new rt[AES_ST_END]
++ new rt[AES_RT_LEVEL_UP + 1];
  • Заменил:
C++:
-- if(rt[AES_ST_EXP] < players_data[id][BET_EXP])
++ if(rt[AES_S_LEVEL] < players_data[id][BET_EXP])
  • Заменил:
C++:
-- if(rt[AES_ST_BONUSES] < players_data[id][BET_BONUS])
++ if(rt[AES_S_BONUS] < players_data[id][BET_BONUS])
  • Заменил:
C++:
-- if((item == 3 && rt[AES_ST_EXP] < players_data[id][sp]) || (item == 4 && rt[AES_ST_BONUSES] < players_data[id][sp]))
++ if((item == 3 && rt[AES_S_LEVEL] < players_data[id][sp]) || (item == 4 && rt[AES_S_BONUS] < players_data[id][sp]))
  • Вопрос:
На что заменять данный натив?
C++:
aes_get_player_stats(id, rt);
В файле aes_main.inc натив выглядит так:
C++:
native aes_get_player_stats(id, data[4]);
 
Сообщения
957
Реакции
1,185
Помог
52 раз(а)
Diff:
#if defined AES
-            new rt[AES_ST_END]
+            new bonuses, Float:exp
-            aes_get_player_stats(id,rt)
+            exp = aes_get_player_exp(id)
+            bonuses = aes_get_player_bonus(id)
            
            // ставим опыт
            
            if(players_data[id][BET_EXP])
            {
-                if(rt[AES_ST_EXP] < players_data[id][BET_EXP])
+                if(exp < players_data[id][BET_EXP])
                {
                    Bet_MenuFormat(id)
                    menu_display(id,menu)
                    
                    return PLUGIN_HANDLED;
                }
            }
            
            if(players_data[id][BET_BONUS])
            {
-                if(rt[AES_ST_BONUSES] < players_data[id][BET_BONUS])
+                if(bonuses < players_data[id][BET_BONUS])
                {
                    Bet_MenuFormat(id)
                    menu_display(id,menu)
                    
                    return PLUGIN_HANDLED;
                }
            }
            #endif
 
  • Нравится
Реакции: Ayk
Сообщения
94
Реакции
13
Помог
2 раз(а)
Sonyx, спасибо большое, добрый человек :blush2:
 

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

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу