Главная | Топ серверов | Скины | Регистрация | Вход | English Version Приветствую Вас Гость | Показать правый блок
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
www.MyMuWeb.Ru - Форум » MyMuWeb » Гайды » [guide] Warp за кредиты (Переделываем стандартный модуль перемещения для CREDITS)
[guide] Warp за кредиты
buffonДата: Понедельник, 14.02.2011, 21:30 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 197
Репутация: 58
Статус: Оффлайн
Чем мне нравится движок MMW, так это красивым кодом. Соблюдена логика действий, последовательность, и, в конце концов, сохранена табуляция, пробелы что делают код читаемым и понятным. Поэтому что-либо изменить под себя очень легко =)

Теперь по теме:

  • Открываем includes/character.class.php
  • Ищем функцию function move($name)
  • Заменяем всю функцию (т.е. от { до }) на следующую функцию:

  • По необходимости сменить:

  • Открываем config.php и меняем $mmw[move_zen] (26 строка) на $mmw[move_creds] (зачем? а что бы красиво было :D) , теперь это значение массива будет определять количество кредитов для перемещения.
  • И, наконец, в modules\user\char.php меням в 80 строчке Zen! на Кредитов!



MentaL Help - платные услуги Mu Online


Сообщение отредактировал buffon - Вторник, 15.02.2011, 11:05
 
YuraДата: Понедельник, 14.02.2011, 22:12 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 176
Репутация: 52
Статус: Оффлайн
Молодец smile

Однако подсыплю соли.
Есть одна уязвимость. Что, если я, будучи плохим человеком, передам твое функции mpnumber, допустим равным 999, т.е. заведомо такого значения, что такой ячейки в массиве $move[] не будет? Тогда $x и $y получают в лучшем случае - просто пустоту, на практике там может оказаться даже просто рандомное число( так и должно быть). Пользователю запишется ложная карта и координаты. Чар застрянет.

Возможное решение:

Code
if( empty( $move[ $mapnumber])) {
       echo "err"; // выводим сообщение
       return 0; // выходим из функции
}

Возможно, empty будет даже лучше заменить на is_array.

Также нет проверки на то, чтобы mapnumber была именно положительным числом. Если я передам туда букву, то это еще и вызовет ошибку обработки SQL запроса и сразу расскроет пути. А если в таблице колонка с номером карты varchar, то запишет, но как на это отреагирует сервер - фиг его знает.


////

Сообщение отредактировал Yura - Понедельник, 14.02.2011, 22:19
 
buffonДата: Понедельник, 14.02.2011, 22:48 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 197
Репутация: 58
Статус: Оффлайн
ту часть которую ты критиковал - в вафле =) я ту часть даже не читал =)


MentaL Help - платные услуги Mu Online
 
YuraДата: Вторник, 15.02.2011, 09:24 | Сообщение # 4
Генерал-майор
Группа: Проверенные
Сообщений: 176
Репутация: 52
Статус: Оффлайн
Функцию ты переделал? Ты и доправь ее.
Я тебе даже часть решения показал.


////

Сообщение отредактировал Yura - Вторник, 15.02.2011, 09:24
 
www.MyMuWeb.Ru - Форум » MyMuWeb » Гайды » [guide] Warp за кредиты (Переделываем стандартный модуль перемещения для CREDITS)
  • Страница 1 из 1
  • 1
Поиск:

This page is designed to be viewed best with Chrome. Home Page MyMuWeb By TFU.LV. Хостинг от uCoz.