keybad 0 Posted December 30, 2009 Report Share Posted December 30, 2009 Отследил ещё одну проблему при работе EQDKP в игре Aion. Дело в том, что ники в игре могут начинаться с маленькой\содержать_более_одной_большой буквы, и содержать цифры [FaraoN]. Вначале я не придавал этому значения, когда видел как добавленный персонаж переименовывался по шаблону ВоВа [FaraoN -> Faraon]. Когда импортировал людей с форума и их персонажей, они были добавлены с ником как в игре (т.е. не по ВоВ шаблону). Тут всплывает проблема: +Когда добавляешь рейд и персонажа из списка (он добавляется как FaraoN) и жмёшь сохранить, людям с неВоВа никами очки не идут. +Когда удаляешь рейд, во-первых в списке человек с ником ВоВа (уже Faraon), а во-вторых дкп за откат у него вычитаются (человек уходит в минус). +При индивидуальном изменении такого не происходит(или я не заметил). Как отключить систему привода ников персонажей к шаблону "только первая буква заглавная и без цифр" (ВоВ)? Как объясняется несимметричность действий прибавления\вычитания по этому поводу (казалось бы, раз не прибавилось, значит и не вычтет - ник же не совпадает)? Quote Link to comment Share on other sites More sharing options...
Фай Д. Флоурайт 33 Posted December 30, 2009 Report Share Posted December 30, 2009 Когда импортировал людей с форума и их персонажей, они были добавлены с ником как в игре (т.е. не по ВоВ шаблону). Каким образом вы проводили это импортирование? Quote Link to comment Share on other sites More sharing options...
keybad 0 Posted December 30, 2009 Author Report Share Posted December 30, 2009 (edited) через самодельный скрипт, копирующий данные из нашей старой дкп системы (которая делала это в свою очередь из форума) и создающий персонажа в бд в новой. после регистрации пользователь привязывает к себе из имеющихся в бд. очевидно такая система не соблюдает указанные правила, хотя имена игровые. Edited December 30, 2009 by keybad Quote Link to comment Share on other sites More sharing options...
Фай Д. Флоурайт 33 Posted December 31, 2009 Report Share Posted December 31, 2009 Я так понимаю что при удалении проверка на валидность имени кушает "некорректные имена", сбоит только при добавлении рейда? В таком случае откройте файл /admin/addraid.php и замените 185-186 строки на, скажем $raid_attendees = preg_replace('/[[:space:]]/i', ' ', $_POST['raid_attendees']); Затем сообщите о результате. Quote Link to comment Share on other sites More sharing options...
keybad 0 Posted January 4, 2010 Author Report Share Posted January 4, 2010 (edited) спасибо за наводку $raid_attendees = strtolower(preg_replace('/[[:space:]]/i', ' ', $_POST['raid_attendees'])); $raid_attendees = ucwords($raid_attendees); делает имена маленькими буквами с заменой спецсимвола на пробел, а затем делает первую букву слов заглавной. так как в аион пробелы в именах отсутствуют, а регистр букв не изменяется от оригинала, можно заменить на $raid_attendees = $_POST['raid_attendees']; интересно теперь узнать, где ещё происходит такой алгорит, потому что "точное соответствие" к никам тут всё ещё не добавляет ДКП, а точнее не делает рабочей полностью во всех смыслах (вероятно ещё и при выводе суммы дкп и других вещах...) Скажем, теперь TEST получает дкп, а при обновлении рейда записывается как Test и начинается та же чехарда с разными именами. Edited January 4, 2010 by keybad Quote Link to comment Share on other sites More sharing options...
Фай Д. Флоурайт 33 Posted January 4, 2010 Report Share Posted January 4, 2010 В том же /admin/addraid.php 312-я строка еще - это как раз к обновлению рейда. Создание персонажей администратором - 162 и 246 строки файла /admin/mm/mm_addmember.php Создание персонажей через менеджер профилей - 204 строка файла /plugins/charmanager/include/chartools.class.php Quote Link to comment Share on other sites More sharing options...
keybad 0 Posted January 8, 2010 Author Report Share Posted January 8, 2010 Спасибо! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.