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

Jarek

Donators
  • Постов

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

  • Посещение

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

    24

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

  1. Немного оффтопа: а скрипт Камиши валяется в паблике? Или вы не подумав выложили его вот так?
  2. Скрипт сдох на строчке callfunc("setlook2", 6, $RacePals[race_id*4+2]); // Number of the first race hair dye Не вижу ни у вас, ни в оригинале такой функции, поэтому и зависает
  3. Jarek

    Job Master(FIX)

    мапсервер намекает: "probably meant to be 'jobname'"
  4. 1) ((.@i + 1) % 10) == 0 Смотрим остаток от деления на 10 (проверяем является ли он каждым 10-м) 2) .@names$[.@i + 1] != "" Смотрим, существует ли следующий элемент в списке (зачем? чтобы не было лишней кнопки некст если количество людей онлайн кратно 10)
  5. Заменить next; на if (!((.@i+1)%10) && .@names$[.@i+1]) next;
  6. Замените все instance_id(1) на instance_id()
  7. Т.к. скрипт вызывается через OnTouch, то можно указать область действия через <triggerX>,<triggerY>
  8. Попробуйте тогда обновить BUILDIN_FUNC(monster), int mob_once_spawn, struct mob_data *mob_once_spawn_sub
  9. Шта? monster "<map name>",<x>,<y>,"<name to show>",<mob id>,<amount>{,"<event label>",<size>,<ai>}; Размер пишется ПОСЛЕ эвента, а не вместо
  10. А если найду? Например в строчке 9672
  11. Да там ничего менять не нужно, только логически додумать последнюю часть В AtCommandInfo atcommand_base[] добавить ACMD_DEF(heart), ACMD_DEF(emotion), ACMD_DEF(dance), ACMD_DEF(show), ACMD_DEF(hold), P.S.: Модераторы, обновите пост
  12. Потому что данная версия устарела
  13. Не совсем понял, откуда и зачем 2 переменных... Ну дык потому что без проверки на в OnInit initnpctimer; setnpctimer -172800000; set .timer,gettimetick(2); end; ... OnInit: if(.timer){ initnpctimer; setnpctimer ((172800000-(gettimetick(2)-.timer)*1000)*(-1)); } end; Соответственно после остановки таймера переменную лучше сбрасывать
  14. setnpctimer ((172800000-(gettimetick(2)-timer)*1000)*(-1)); Вопрос не понял, но попробую объяснить 1) в переменную записываем время старта таймера 2) в онините: "gettimetick(2)-timer" даст нам разницу между текущим временем и временем старта таймера 3) отнимаем из 2х суток эту разницу и продолжаем таймер И еще раз на цифрах 1) в переменную timer помещается количество секунд, прошедшее с 1 янв 1970г. Но для удобства примера, пусть там будет 0 секунд 2) Допустим ровно через 12ч перезапустили сервер "gettimetick(2)-timer" даст 43200 (секунд) 3) умножаем на 1000 и отнимаем от 172800000 полученное значение, получаем 129600000 (36ч) P.S.: В онините тоже нужно инициализоровать таймер, т.к. старого больше нет P.S.S.: используйте нпц переменную, а не переменную чара.
  15. При старте таймера в переменную записать время старта gettimetick(2) а в onInit написать setnpctimer(gettimetick(2) - <переменная>)
  16. Главное, чтобы заменить все тело функции на "return 1;" И да
  17. src\map\itemdb.c Ищем char itemdb_isidentified(int nameid) { int type=itemdb_type(nameid); switch (type) { case IT_WEAPON: case IT_ARMOR: case IT_PETARMOR: case IT_SHADOWGEAR: return 0; default: return 1; } } заменяем на char itemdb_isidentified(int nameid) { return 1; }
  18. Ну написали же, что все это есть в инстансах Проверка на лидера if (getcharid(0) == getpartyleader(getcharid(1),2)) Проверка на время = проверка таймера квеста checkquest(<quest ID>,PLAYTIME)
  19. Не думаю, что возможно создавать динамические копии нпц. Что вам мешает через использование предмета обращаться непосредственно к нпц?
×
×
  • Создать...
Яндекс.Метрика