Перейти к содержанию

Functor

Core Developers
  • Постов

    940
  • Зарегистрирован

  • Посещение

  • Победитель дней

    147

Весь контент Functor

  1. Открываем .../src/map/party.c и меняем: // count the number of players eligible for exp sharing for (i = c = 0; i < MAX_PARTY; i++) { if( (sd[c] = p->data[i].sd) == NULL || sd[c]->bl.m != src->m || pc_isdead(sd[c]) || (battle_config.idle_no_share && pc_isidle(sd[c])) ) continue; c++; } на: // count the number of players eligible for exp sharing for (i = c = 0; i < MAX_PARTY; i++) { if( (sd[c] = p->data[i].sd) == NULL || sd[c]->bl.m != src->m || pc_isdead(sd[c]) || (battle_config.idle_no_share && pc_isidle(sd[c])) ) continue; if (sd[c]->state.partyexp) continue; c++; } Открываем .../src/map/pc.h и после: unsigned int warping : 1;//states whether you're in the middle of a warp processing пишем: unsigned int partyexp : 1; Открываем .../src/map/atcommand.c и перед: /** * Fills the reference of available commands in atcommand DBMap **/ #define ACMD_DEF(x) { #x, atcommand_ ## x } #define ACMD_DEF2(x2, x) { x2, atcommand_ ## x } пишем: ACMD_FUNC(partyexp) { nullpo_retr(-1, sd); if (sd->state.partyexp) { clif_displaymessage(fd, "Деактивирован отказ от получения експы в Party."); sd->state.partyexp = 0; } else { clif_displaymessage(fd, "Активирован отказ от получения експы в Party."); sd->state.partyexp = 1; } return 0; } После: AtCommandInfo atcommand_base[] = { пишем: ACMD_DEF(partyexp), Так же не забудьте назначить команду необходимому GM уровню в конфигах.
  2. Для начала необходимо знать основы языка С. Потом изучайте исходный код. Вносите свои изменения. Пишите модификации. Именно так я начинал. P.S. http://eathena.ws/wiki/index.php?title=Category:Source_Functions
  3. Что Вы имеете в виду под "API eathena"? Исходный код .../src/.. Описание скриптовых функций .../doc/script_commands.txt
  4. Какую версию Vertrigo устанавливали? Сколько свободного места на диске С? Покажите список процессов. В консоли: tasklistВывод покажите в следующем сообщении. Попробуйте отключить антивирус, если установлен. Если не поможет, сделайте проверку диска C на предмет ошибок файловой системы. В консоли: chkdsk c:Вывод покажите в следующем сообщении. Деинсталлируйте Vertrigo и затем проинстальте не по дефолтному пути. Например: C:\Program Files\MyVertrigo\
  5. В моем сообщении не v_mysqlb.exe, а v_mysqld.exe --console
  6. Судя по выводу netstat, никто не занимает нужный нам порт. Так что смысла менять порт нету. Vertrigo после запуска v_mysqld.exe не находит его в процессах. В результате чего пишет ошибку. Но причина может быть любая. В таком случае откройте консоль и введите: cd C:\Program Files\VertrigoServ\Mysql\bin v_mysqld.exe --console Вывод покажите в следующем сообщении. P.S. Если у Вас системный диск не C - замените на правильный. У Вас установлен Firewall?
  7. Тогда в консоли netstat -a -b и смотрите.
  8. Win7 ? Запускайте Vertrigo с повышенными правами(Запуск от имени администратора)
  9. Shader, поскольку Вы закрыли тему про свой сервер, то напишу здесь. Очень не советую использовать BitSecure в качестве защиты. Полная отвязка от защиты заняла 10 минут. Для теста необходимо: 1. Скачать архив по ссылке http://rghost.ru/37935301 (пароль в ПМ) 2. Переименовать game.bin в game.exe 3. Заменить bitsecure.dll в папке с игрой на тот что в архиве 4. Для запуска игры используем game.exe
  10. Конечно рИально. Но доказывать Вам на примерах вряд ли кто будет. Возможность дюпа очень сильно зависит от админа.
  11. Скриптовый тернарный оператор появился в 9533 ревизии афины.
  12. Это и так понятно. Запаковал dll он только для оценки пакера. @Hot Space Теперь dll накрыта ASPack v2.12. От реверса алгоритма он не спасет. Но усложнит модификацию dll на диске. Так же Avira начала жаловаться на файл.
  13. @Hot Space Алгоритм как на ладони. Легко написать свою dll и юзать обычную кору. Добавлено: Отреверсил я алгоритм и написал свою dll. Соответственно снимаются все ограничения. Для проверки скачайте и замените в клиенте Вашего сервера midg.dll. Пароль на архив скинул в ПМ. http://rghost.ru/37835804 Это его разработка. С RCP ничего схожего нету. Антивирусы молчат ибо он не паковал dll.
  14. Functor

    архиватор

    Вы видели какие файлы получаются при распаковке и сколько они весят? Так что там не было содержимого на 30 мб.
  15. Functor

    архиватор

    Намного больше ужать чем RAR не получится. Степень сжатия зависит от содержимого.
  16. http://tortoisesvn.net/docs/release/TortoiseSVN_ru/ http://tortoisesvn.net/docs/release/TortoiseSVN_ru/tsvn-dug-checkout.html
  17. Так что это Вы за график приводили в пример? И причем там округление? Правила правилами. Для игрока "кидание кубика 1000 раз" в любом случае остается за занавесом. Он этого не оценит. Так что зря Вы прицепились к этому алгоритму. Если погрешность у Вас заключается в разбросе, то вот статистика для двух алго: Минимальное число: 868 Максимальное число: 1116 Минимальное число: 37 Максимальное число: 1947 При сборе каждый алгоритм прокрутил 1 миллион раз.
  18. Что это за график? Какое еще округление? Набросал я Ваш алгоритм на С++ и прокрутил его 1 миллион раз. Во время теста я фиксировал самое маленькое число и самое большое. Минимальное число: 863 Максимальное число: 1126 Так что Вам мешает использовать rand(800,1200) и не создавать себе проблемы?
  19. Диапазон выходного числа будет такой же. От 0 до 2000.
  20. botka4aet, не понимаю зачем так извращаться, потому что Ваш код аналогичный одной строке: set @play, rand(0,2000); Вы просто подумайте в каком диапазоне будет выходное число с Вашего скрипта и с моего.
  21. Попробуйте перефразировать. А то сложно понять что Вы хотите.
  22. Functor

    Рабочие lua/lub

    Тогда в любом случае ищите новее Setup.exe.
  23. Пока у меня нету свободного времени, обсуждать нечего. Как найду время - напишу Вам в аську.
×
×
  • Создать...
Яндекс.Метрика