-
Постов
940 -
Зарегистрирован
-
Посещение
-
Победитель дней
147
Весь контент Functor
-
Больше всего порадовало это:
-
Открываем .../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 уровню в конфигах.
- 4 ответа
-
- 2
-
Для начала необходимо знать основы языка С. Потом изучайте исходный код. Вносите свои изменения. Пишите модификации. Именно так я начинал. P.S. http://eathena.ws/wiki/index.php?title=Category:Source_Functions
-
Что Вы имеете в виду под "API eathena"? Исходный код .../src/.. Описание скриптовых функций .../doc/script_commands.txt
-
Какую версию Vertrigo устанавливали? Сколько свободного места на диске С? Покажите список процессов. В консоли: tasklistВывод покажите в следующем сообщении. Попробуйте отключить антивирус, если установлен. Если не поможет, сделайте проверку диска C на предмет ошибок файловой системы. В консоли: chkdsk c:Вывод покажите в следующем сообщении. Деинсталлируйте Vertrigo и затем проинстальте не по дефолтному пути. Например: C:\Program Files\MyVertrigo\
-
В моем сообщении не v_mysqlb.exe, а v_mysqld.exe --console
-
Судя по выводу netstat, никто не занимает нужный нам порт. Так что смысла менять порт нету. Vertrigo после запуска v_mysqld.exe не находит его в процессах. В результате чего пишет ошибку. Но причина может быть любая. В таком случае откройте консоль и введите: cd C:\Program Files\VertrigoServ\Mysql\bin v_mysqld.exe --console Вывод покажите в следующем сообщении. P.S. Если у Вас системный диск не C - замените на правильный. У Вас установлен Firewall?
-
Тогда в консоли netstat -a -b и смотрите.
-
Win7 ? Запускайте Vertrigo с повышенными правами(Запуск от имени администратора)
-
Shader, поскольку Вы закрыли тему про свой сервер, то напишу здесь. Очень не советую использовать BitSecure в качестве защиты. Полная отвязка от защиты заняла 10 минут. Для теста необходимо: 1. Скачать архив по ссылке http://rghost.ru/37935301 (пароль в ПМ) 2. Переименовать game.bin в game.exe 3. Заменить bitsecure.dll в папке с игрой на тот что в архиве 4. Для запуска игры используем game.exe
-
Конечно рИально. Но доказывать Вам на примерах вряд ли кто будет. Возможность дюпа очень сильно зависит от админа.
-
Скриптовый тернарный оператор появился в 9533 ревизии афины.
-
Это и так понятно. Запаковал dll он только для оценки пакера. @Hot Space Теперь dll накрыта ASPack v2.12. От реверса алгоритма он не спасет. Но усложнит модификацию dll на диске. Так же Avira начала жаловаться на файл.
-
@Hot Space Алгоритм как на ладони. Легко написать свою dll и юзать обычную кору. Добавлено: Отреверсил я алгоритм и написал свою dll. Соответственно снимаются все ограничения. Для проверки скачайте и замените в клиенте Вашего сервера midg.dll. Пароль на архив скинул в ПМ. http://rghost.ru/37835804 Это его разработка. С RCP ничего схожего нету. Антивирусы молчат ибо он не паковал dll.
-
http://tortoisesvn.net/docs/release/TortoiseSVN_ru/ http://tortoisesvn.net/docs/release/TortoiseSVN_ru/tsvn-dug-checkout.html
-
Так что это Вы за график приводили в пример? И причем там округление? Правила правилами. Для игрока "кидание кубика 1000 раз" в любом случае остается за занавесом. Он этого не оценит. Так что зря Вы прицепились к этому алгоритму. Если погрешность у Вас заключается в разбросе, то вот статистика для двух алго: Минимальное число: 868 Максимальное число: 1116 Минимальное число: 37 Максимальное число: 1947 При сборе каждый алгоритм прокрутил 1 миллион раз.
-
Что это за график? Какое еще округление? Набросал я Ваш алгоритм на С++ и прокрутил его 1 миллион раз. Во время теста я фиксировал самое маленькое число и самое большое. Минимальное число: 863 Максимальное число: 1126 Так что Вам мешает использовать rand(800,1200) и не создавать себе проблемы?
-
Диапазон выходного числа будет такой же. От 0 до 2000.
-
botka4aet, не понимаю зачем так извращаться, потому что Ваш код аналогичный одной строке: set @play, rand(0,2000); Вы просто подумайте в каком диапазоне будет выходное число с Вашего скрипта и с моего.
-
Попробуйте перефразировать. А то сложно понять что Вы хотите.
-
Тогда в любом случае ищите новее Setup.exe.
-
Возможно Вы про /fog ?
- 4 ответа
-
- 1
-
Пока у меня нету свободного времени, обсуждать нечего. Как найду время - напишу Вам в аську.