Иконка ресурса

Player Preferences 1.0.14

Нет прав для скачивания

ArKaNeMaN

Квалифицированный специалист по VipModular
Сообщения
394
Реакции
284
Помог
3 раз(а)
Сообщения
1,135
Реакции
381
ArKaNeMaN, ну да ладно пусть уже будет string я думаю ничего особо страшного не пройзойдет :) :sorry:
 
Сообщения
1,022
Реакции
822
Помог
10 раз(а)
Вроде как REPLACE должно создавать и обновлять если уже создано, а UPDATE умеет только обновлять, нет? зачем тогда лишний запрос делать на INSERT?
REPLACE при срабатывании ограничения удаляет запись (и вызывает ON DELETE CASCADE) и затем вставляет новую, что не так быстро, вместо этого юзай INSERT INTO ON DUPLICATE KEY UPDATE
 
Сообщения
1,135
Реакции
381
Javekson, попробую проверить, не знал что такое законно
 
Сообщения
1,135
Реакции
381
Если кому нужен пример вот моя недоделанная стата (со своими приколами, может кому пригодится) а так же демо рекордер (без записи в userinfo)


Оба плагина используют player preferences.

Если кто возьмётся доделать unreal lite rank плагин буду только рад, хотел сделать подробную стату не похожую на другие, но застыл на создании топ 15, и на веб части(точнее полное ее отсутствие в данный момент)
 
Сообщения
1,135
Реакции
381
REPLACE при срабатывании ограничения удаляет запись (и вызывает ON DELETE CASCADE) и затем вставляет новую, что не так быстро, вместо этого юзай INSERT INTO ON DUPLICATE KEY UPDATE
Сделал но на первый взгляд абсолютно никакой разницы :)
14 Янв 2023
Использовать JSON была явно очень неудачной идеей у авторов оригинального плагина, никакой свободы действия нету, даже топ игроков не сделать т.к нет возможности делать SELECT среди JSON данных в старых MYSQL версиях которые сейчас на хостингах стоят :(

Надо бы переделать на обычный SQL, ну то есть что бы добавляло столбцы при необходимости (в зависимости от типа делать префикс int_col1 str_col2 и т.п) тогда можно будет работать как с обычными SQL данными .
 

ArKaNeMaN

Квалифицированный специалист по VipModular
Сообщения
394
Реакции
284
Помог
3 раз(а)
Сообщения
1,135
Реакции
381
Какой топ? Это настройки. Ты о чём?)
ArKaNeMaN, в том то и дело что ужасный функционал у JSON + MYSQL :)
Хотелось бы расширить возможности плагина но из-за того что авторы использовали этот бесполезный JSON, все возможности по расширению пропали :) По этому надо чето думать и переделывать что бы добавить больше нативок :)

Ты такие вещи не говори...
Есть пример PVPGN там как раз так и работает, там красиво сделано столбцы сами добавляются какие надо и т.п, просто сказка. Вот что-то такое и надо сделать, а это 100% с нуля придется переписать Player Preferences, и тогда огонь будет :)
 
Последнее редактирование:

ArKaNeMaN

Квалифицированный специалист по VipModular
Сообщения
394
Реакции
284
Помог
3 раз(а)
Сообщения
1,135
Реакции
381
ArKaNeMaN, ну это уже будет решать тот кто решит использовать :) Топ по стате или топ по дамагеру.
 
Сообщения
1,022
Реакции
822
Помог
10 раз(а)
Сделал но на первый взгляд абсолютно никакой разницы :)
разницы в результате не будет, разница в процессе, проще обновить если строка есть нежели удалить и по новой вставить, сокращение числа операций не более
 
Сообщения
1,135
Реакции
381
Предлагайте какие надо нативы или форварды добавить и на этом наверное заброшу обновления плагина, т.к перспективы развития на будущее у использования JSON никаких нет, крайне ограниченный функционал.
 
Сообщения
209
Реакции
120
Помог
11 раз(а)
Если не нужно записывать настройки ботам - то я бы добавил проверку :

Diff:
public client_disconnected(id) 
{
+   if (is_user_bot(id) || is_user_hltv(id)) return
    
    DEBUG && log_to_file("PLAYER_PREF_DEBUG.log", "User disconnect %d",id);
    if (g_jObject[0] != Invalid_JSON)
        save_values(0);
    
    CHECK_PLAYER(id)
    
    if (id != 0)
        save_values(id);
    DEBUG && log_to_file("PLAYER_PREF_DEBUG.log", "User disconnect END %d",id);
}
 
Сообщения
1,135
Реакции
381
murlemur, как бы настройки ботам не создаются, они не будут сохранены
23 Янв 2023
а нет понял проверки не хватает, но не той
 
Сообщения
11
Реакции
2
в native_set_string ошибка:

get_string(arg_key, g_sTmpKey, charsmax(g_sTmpKey));
get_string(arg_value, g_sTmpKey, charsmax(g_sTmpKey));

в итоге в качестве ключа будет значение, а значение будет пустым
 

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

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