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

Mizuwokiru

Постоялец
  • Публикаций

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

  • Посещение

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

    2
  • Отзывы

    0%

Сообщения, опубликованные Mizuwokiru


  1. 5 часов назад, Demoncool сказал:

    1 зачем добавлять стату которая уже есть ???

    2 без разраба не сделать либо декомпил либо костыль тредпулом

    Такой класс декомпильнуть можно

    Приложенных исходников к теме не нашел, поэтому ответ базировался на лыже.


  2. 1. Добавляешь новую стату (аля mpPercentConsume) в Skill. Затем двигаешься в сторону L2Character и ищешь использование mpConsume1 или mpConsume2 (в зависимости от того, когда нужно ману скушать - перед кастом или после) и реализуешь убавление маны типа такого:

    double consumingMp = getStat().getMpPercentConsume(skill);

    ...

    double maxMp = getMaxMp();

    getStatus().reduceMp(maxMp * consumingMp);

    При условии, что в mpPercentConsume хранятся значения от 0 до 1.

    И не забываем о проверках на наличие нужного количества MP.

    2. Смотри в сторону RequestShortCutReg.

    • Like 2

  3. Спасибо, но еще хотелось бы фиксануть в своей сборочке)

    Это тебе не ява, где можно спокойно открыть какой-то файлик и спокойно пофиксить тот или иной баг. Чтобы зафиксить такой баг на ПТСе, тебе нужно написать свою длл`ку-экстендер и "прикрутить" к экзешнику.


  4. На зарубежной легко.

    Есть c4 который работает уже более 8-ми лет и с онлайном в 2 тысячи реальных игроков(В данный момент).

     

    2000 < 4000, не? :)

    GoD сервера многим "не зашли" - одна из причин отсутствия таких серверов с хотя бы 1к онлайна (та же асима загнулась на глори дейс, еще было парочку таких проектов, которые тоже в итоге загнулись).

    Скажем так: куда проще раскрутить хф5 и ниже, нежели ГоД.


  5. Поищи что-то связанное с factionId в датапаке (а точнее в статах нпц скорее всего). Попробуй определенному нпц, с которым контактируешь и после чего выбивает ошибку, добавить поле с factionId и присвой ему какое-нибудь значение: <set name="factionId" value="12345"/>

    • Upvote 1

  6. А можно декомпил метода net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.equalsFactionId?

    Если врубить вангу, то в принципе скорее всего этот метод возвращает значение типа boolean и сравнивает при этом 2 объекта фракций (а точнее их начинку так сказать), но если один из этих объектов не определен (равен null), при обращении к полям/методам данного неопределенного объекта будет каждый раз будет выбивать NullPointerException.

    • Upvote 1

  7. Попробуй выставить шанс дропа вещей/целых вещей под 1-10к или же поищи мобов с таким же дропом (но рейты не трогать) и попробуй повыбивать с них что-то (именно 0 целых с копейками). Если в первом случае вещи начнут выпадать, а во втором случае с мобов вещи так же не выпадают, как и с рб, значит где-то ошибочка в формулах. Иначе ошибка именно в xmlке (тогда в таком случае кусок xml-кода с дропом этого рб сюда скинь).


  8. Вы меня оба убиваете. Вы на скрин вообще смотрите? Там показано же х64 битка, а не 32 битка. Вот от сюда и выдно 16гб оперативки.

    http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_install/is-there-a-64-bit-edition-of-windows-7-starter/cbfd86e1-728e-4370-a11d-8eca7b77cc84?db=5&auth=1

     

    У тебя какая-то самоделка, странно, что она еще и 6 гб целых поддерживает, а не 2.

     

    По теме: плохая идея ставить сервер на декстопную ОСь. Тут однозначно Windows Server (про всякие там линуксы и юниксы в топике не было упомянуто, поэтому о нем говорить не буду). 


  9. Более-менее в шаре ничего нет. Либо брать Rebellion Tauti и допиливать, либо брать вообще HF и апать его до Tauti.

    Если времени дохрена и есть желание учиться - вообще с нуля. К примеру, сейчас неплохо переносить со стандартных Java`овских NIO на netty 4. Вот пример его использования в простенькой онлайн игре (не ла2 и нет связки аутх/гейм, все в одном).

    У меня была такая идея, но потом стало влом дальше что-либо делать :(


  10.  

     

    привет , слушай можешь помоч мне с пакетом я новечек в этом не все получается очень нужно

     

    Вот такие месаги прилетали на зг от него (около 3-5 шт)... Какие там кодеры?! Ученики Ancient`а походу...


  11. Каким инструментом воспользоваться,чтобы получить печатную форму документа?

    Нашел от это http://community.jaspersoft.com/project/jasperreports-library , но как ей пользоваться. Мануалов что-то не нашёл

    http://community-static.jaspersoft.com/system/files/documentation/jasperreports-ultimate-guide-3v2.pdf

    Регаться мне влом, так что кинул ссылку.


  12. Видимо ты прав, я так понял мне этот весь файлик лучше с чистого патча выдернуть.

    А то он у меня весь не правильный...

     

    a62dc996d408.jpg

    Скопируй это содержимое в какой-нибудь блокнот (желательно с возможностью "шаманить" с кодировками UTF8/CP866/CP1251/ANSI и т.п.) и пошамань с кодировками вплоть до правильного отображения. Скорее всего тут либо ANSI <-> UTF-8, либо UTF-8 <-> CP1251.


  13. паскали разные есть

     

    "где-то отсюда выбивает", это как так "где-то отсюда" ?

    то есть не знаешь даже где, как такое может быть?

    и, имея код ошибки, в чем проблема разобраться в причине ошибки?

    1. Этот код должен по идее запуститься как на FPC, так и на Turbo Pascal/Borland Pascal.

    2. Написал я сюда, ибо не было времени искать ошибку, так как помимо этого мне нужно было сделать 10 лаб.

    3. "Где-то отсюда" - не так выразился, выбивает на проверке условия (скорее всего что-то не так в обращении к полю записи). Также, у меня там были проблемы с этим новым 3-им паскалем, мб из-за этого все.

    4. 216 ошибка на сколько я помню отвечает за обращение к элементу массива по недопустимому номеру, но может быть у него более абстрактное определение, о котором я не знаю.

    В итоге от твоего поста толку 0.

     

    P.S.: Тему можно закрыть, препод код не проверял, лабу сдал :D


  14. В общем, суть проблемы:

    Есть заранее заполненный словами файл, который считывается программой в начале. Слова записываются в связанный список, состоящий из самого слова, количество его дубликатов и указатель на следующий элемент.

    Вот что я накодил:

    program LR3_LinkedList;
    uses crt;
     
    type mystr = string[25];
         pnode = ^node;
         node = record
             worrd: mystr;
             count: byte;
             next: pnode;
         end;
     
    function CreateNode(new_word: mystr): pnode;
    var new_node: pnode;
    begin
        new(new_node);
        new_node^.worrd := new_word;
        new_node^.count := 1;
        new_node^.next := nil;
        CreateNode := new_node;
    end;
     
    procedure AddBefore(p, new_node: pnode);
    var temp: node;
    begin
        temp := p^;
        p^ := new_node^;
        new_node^ := temp;
        p^.next := new_node;
    end;
     
    function Find(head: pnode; new_word: mystr): pnode;
    var q: pnode;
    begin
        q := head;
        while (q <> nil) and (new_word <> q^.worrd) do
            q := q^.next;
        Find := q;
    end;
     
    function FindPlace(head: pnode; new_word: mystr): pnode;
    var q: pnode;
    begin
        q := head;
        while (q <> nil) and (new_word > q^.worrd) do
            q := q^.next;
        FindPlace := q;
    end;
     
    procedure CoolWrite(str: string);
    var i: byte;
    begin
        Write(str);
        for i := 1 to 10 do
        begin
            Write('.');
            Delay(200);
        end;
        WriteLn;
    end;
     
    procedure ClearMemory(var p: pnode);
    var q: pnode;
    begin
        while p <> nil do
        begin
            q := p;
            while q^.next <> nil do
                q := p^.next;
            dispose(q);
        end;
    end;
     
    function GetWord(var f: text): mystr;
    var c: char;
    begin
        GetWord:= '';
        while not eof(f) do
        begin
            read(f, c);
            if (c <= ' ') and (GetWord <> '') then
                break
            else if c > ' ' then
                GetWord := GetWord + c;
        end;
    end;
     
    var head, tmpnode, tmpnode2: pnode; f: text; tmpword: mystr; i: byte;
    begin
     
        clrscr;
        CoolWrite('Открываем файл');
        assign(f, 'C:\text.txt');
        reset(f);
        tmpword := GetWord(f);
        head := CreateNode(tmpword);
        while not eof(f) do
        begin
            tmpword := GetWord(f);
            if tmpword = '' then
                break;
            tmpnode := Find(head, tmpword);
            // Где-то отсюда выбивает exitcode = 216
            if tmpnode^.worrd = tmpword then
                Inc(tmpnode^.count)
            else
            begin
                tmpnode := FindPlace(head, tmpword);
                tmpnode2 := CreateNode(tmpword);
                AddBefore(tmpnode, tmpnode2);
            end;
        end;
        close(f);
        assign(f, 'C:\result.txt');
        rewrite(f);
        tmpnode := head;
        while tmpnode <> nil do
        begin
            WriteLn(f, tmpnode^.worrd:15, tmpnode^.count:5);
            tmpnode := tmpnode^.next;
        end;
        close(f);
        readkey;
        ClearMemory(head);
    end.


  15. Лучше саму задачу скинь, а то фиг поймешь, что нужно сделать. 

    Вот работающая программа, сделанная на основе записей, но за валидность не отвечаю (условие не известно):

    program Dobutok;
    uses crt;
     
    var x, d: Integer; i, n: Byte;
     
    begin
        d := 1;
        ClrScr;
        Write('Введiть N: ');
        Read(n);
        for i := 1 to n do
        begin
            Write('Введiть ', i, '-е число: ');
            Read(x);
            if x > 0 then 
                d := d * x;
        end;
        Write(d)
        ReadKey;
    end.

×
×
  • Создать...