MOTR logo
    • Категории
    • Последние
    • Популярные
    • Метки
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Тайминг скилл из Абры

    Запланировано Прикреплена Закрыта Перенесена Справочник по Магии
    2 Сообщения 2 Posters 1.0k Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • F Не в сети
      FateFull
      отредактировано

      В качестве темы для разговора (флуд)
      Поскольку я люблю все понимать до конца, залез в jathena-1735 и 2060
      Что нашел:
      case SA_TAMINGMONSTER:
      clif_skill_nodamage(src,bl,skillid,skilllv,1);
      ** if (dstmd){**
      ** int i;**
      ** for(i=0;i<MAX_PET_DB;i++){**
      ** if(dstmd->class == pet_db**.class){**
      ** pet_catch_process1(sd,dstmd->class);**
      ** break;**
      ** }}}**
      ** break;**
      **
      **
      **
      т.е. вызывается не стандартная процедура pet_catch_process1 тайминга мобов ( стандартная pet_catch_process2):
      **
      int pet_catch_process1(struct map_session_data sd,int target_class)
      { nullpo_retr(0, sd);
      ** sd->catch_target_class = target_class;

      ** clif_catch_process(sd);

      ** return 0;
      *
      }
      **
      **
      **
      вот clif_catch_process
      **
      int clif_catch_process(struct map_session_data sd)
      {
      ** int fd;

      ** nullpo_retr(0, sd);

      ** fd=sd->fd;
      *
      ** WFIFOW(fd,0)=0x19e;**
      ** WFIFOSET(fd,packet_db[0x19e].len);**
      ** return 0;**
      }
      **
      **
      **
      **Дальше мозга не хватило.
      **
      **Кто знает почему все-таки у нас все пишут формулу стантдартного тайминга которая прописана в pet_catch_process2? или был фикс?
      **
      Объясните для общего развития.

      1 ответ Последний ответ Ответить Цитировать 0
      • S Не в сети
        Semmal
        отредактировано

        @"FateFull":
        В качестве темы для разговора (флуд)

        т.е. вызывается не стандартная процедура pet_catch_process1 тайминга мобов ( стандартная pet_catch_process2):
        Дальше мозга не хватило.

        Мозга не хватило не дальше, а ближе. Как раз pet_catch_process1 и есть стандартная процедура тайминга мобов:

        @"script.c":

        {buildin_catchpet,"pet","i"},
        

        int buildin_catchpet(struct script_state *st)
        {
        int pet_id;
        pet_id= conv_num(st,& (st->stack->stack_data[st->start+2]));
        pet_catch_process1(script_rid2sd(st),pet_id);
        return 0;
        }

        А pet_catch_process2, AFAIK, вызывается уже после того, как клиент отправит на сервер сообщение, что барабан рандома благополучно остановлен.

        1 ответ Последний ответ Ответить Цитировать 0
        • Первое сообщение
          Последнее сообщение