-
Постов
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 уровню в конфигах.
- 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\
- 1
-
В моем сообщении не v_mysqlb.exe, а v_mysqld.exe --console
- 1
-
Судя по выводу netstat, никто не занимает нужный нам порт. Так что смысла менять порт нету.
Vertrigo после запуска v_mysqld.exe не находит его в процессах. В результате чего пишет ошибку. Но причина может быть любая.
В таком случае откройте консоль и введите:
cd C:\Program Files\VertrigoServ\Mysql\bin
v_mysqld.exe --consoleВывод покажите в следующем сообщении.
P.S. Если у Вас системный диск не C - замените на правильный.
У Вас установлен Firewall?
- 1
-
Тогда в консоли netstat -a -b и смотрите.
-
Win7 ?
Запускайте Vertrigo с повышенными правами(Запуск от имени администратора)
-
Shader, поскольку Вы закрыли тему про свой сервер, то напишу здесь.
Очень не советую использовать BitSecure в качестве защиты.
Полная отвязка от защиты заняла 10 минут.
Для теста необходимо:
1. Скачать архив по ссылке http://rghost.ru/37935301 (пароль в ПМ)
2. Переименовать game.bin в game.exe
3. Заменить bitsecure.dll в папке с игрой на тот что в архиве
4. Для запуска игры используем game.exe
-
Конечно рИально. Но доказывать Вам на примерах вряд ли кто будет.
Возможность дюпа очень сильно зависит от админа.
-
(Sex?"^FF0000 Mr. ^FF0000":"^FF0000 Mrs.^FF0000") с какой ревизии пашет?
Скриптовый тернарный оператор появился в 9533 ревизии афины.
- 1
-
Омг.. Ну уже бестолку. Пакуй-не пакуй. Переделывать нужно, т.к. уже есть не пакованная версия.
Это и так понятно. Запаковал dll он только для оценки пакера.
@Hot Space
Теперь dll накрыта ASPack v2.12. От реверса алгоритма он не спасет. Но усложнит модификацию dll на диске.
Так же Avira начала жаловаться на файл.
- 1
-
@Hot Space
Алгоритм как на ладони. Легко написать свою dll и юзать обычную кору.
Добавлено:
Отреверсил я алгоритм и написал свою dll. Соответственно снимаются все ограничения.
Для проверки скачайте и замените в клиенте Вашего сервера midg.dll.
Пароль на архив скинул в ПМ.
Хм.. А не rcp1 ли у тебя, со сломанной дллкой?
Это его разработка. С RCP ничего схожего нету.
2. Что о твоей длл думают антивирусы?
Антивирусы молчат ибо он не паковал dll.
- 1
-
-
-
-
Так что это Вы за график приводили в пример? И причем там округление?
Правила правилами. Для игрока "кидание кубика 1000 раз" в любом случае остается за занавесом. Он этого не оценит. Так что зря Вы прицепились к этому алгоритму.
Если погрешность у Вас заключается в разбросе, то вот статистика для двух алго:
for (set @i,0; @i < 1000; set @i,@i+1) {
set @play,@play+rand(0,2)
}Минимальное число: 868
Максимальное число: 1116
for (set @i,0; @i < 900; set @i,@i+100) {
set @play,@play+rand(0,2)*100;
}
for (set @i,0; @i < 90; set @i,@i+10) {
set @play,@play+rand(0,2)*10;
}
for (set @i,0; @i < 10; set @i,@i+1) {
set @play,@play+rand(0,2);
}Минимальное число: 37
Максимальное число: 1947
При сборе каждый алгоритм прокрутил 1 миллион раз.
-
Я просто со школы помню график, который мы чертили.
Что это за график?
Поэтому предложенное округление будет слишком сильным.
Какое еще округление?
Набросал я Ваш алгоритм на С++ и прокрутил его 1 миллион раз.
Во время теста я фиксировал самое маленькое число и самое большое.
Минимальное число: 863
Максимальное число: 1126
Так что Вам мешает использовать rand(800,1200) и не создавать себе проблемы?
-
не верно.Будет слишком большой диапазон значений для 1000 бросков одинаково кубика.
Диапазон выходного числа будет такой же. От 0 до 2000.
-
botka4aet, не понимаю зачем так извращаться, потому что Ваш код аналогичный одной строке:
set @play, rand(0,2000);
Вы просто подумайте в каком диапазоне будет выходное число с Вашего скрипта и с моего.
-
которую одеваешь и шапка не одевается
на тебя одвается
Попробуйте перефразировать. А то сложно понять что Вы хотите.
-
Тогда в любом случае ищите новее Setup.exe.
-
Возможно Вы про /fog ?
- 1
-
Пока у меня нету свободного времени, обсуждать нечего.
Как найду время - напишу Вам в аську.
Новое лицо "Алисы" ака Карлсон ака Kent Дминтрий
в Black List
Опубликовано
Больше всего порадовало это: