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

Victor

Продвинутый пользователь
  • Постов

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

  • Посещение

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

    3

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

  1. https://rathena.org/board/topic/65099-using-getmapxy-to-monster/
  2. Вот вам отдельный пример из архивов, только под флюкс немного поправить надо.
  3. Советую просмотреть исходник команды @aura. Там при использовании эффекты не сбрасываются.
  4. /src/map/pc.c Находим pc_gainexp И после if(!battle_config.pvp_exp && map[sd->bl.m].flag.pvp) // [MouseJstr] return 0; // no exp on pvp maps Добавляем например if(sd->status.base_level == 255) { base_exp = base_exp/180; job_exp = job_exp/180; }
  5. Попробуйте взять этот (старее сборки не нашёл)
  6. Вопрос тоже актуальный, где взять луа файлы для определенной версии EXE? Поделитесь, у кого есть ссылки рабочие.
  7. Хотел давно создать тему, но никак всё руки не доходили до этого. Данный человек также покупал сборку на гармошке, но так и не оплатил до сих пор, хотя вся работа была выполнена. Слот я отключил - в любом случае там ничего работать не будет, если не снести защиту конечно. Ниже видно как он только кормит обещаниями со своей "женой". Пруф:
  8. Используйте генератор eASpriteNameGen для названия спрайта
  9. Время перед сообщением.(При большом онлайне грузит сервер)by Qwadrat Открыть clif.c Найти void clif_parse_GlobalMessage(int fd, struct map_session_data* sd) После: char *name, *message; int namelen, messagelen; Добавить: char prefix[255]; // prefix for timestamp [Qwadrat] time_t t = time(NULL); // time var [Qwadrat] Дальше найти: // send message to others (using the send buffer for temp. storage) И перед ним вставь: // timestamp feature by Qwadrat strftime(prefix, 10, "[%H:%M] ", localtime(&t)); strcat(prefix,text); textlen = strlen(prefix)+1; Дальше: // send message to others (using the send buffer for temp. storage) Заменить оригинальный кусок кода на: WFIFOHEAD(fd, 8 + textlen); WFIFOW(fd,0) = 0x8d; WFIFOW(fd,2) = 8 + textlen; WFIFOL(fd,4) = sd->bl.id; safestrncpy((char*)WFIFOP(fd,8), prefix, textlen); clif_send(WFIFOP(fd,0), WFIFOW(fd,2), &sd->bl, sd->chatID ? CHAT_WOS : AREA_CHAT_WOC); // send back message to the speaker //memcpy(WFIFOP(fd,0), RFIFOP(fd,0), RFIFOW(fd,2));-original memcpy(WFIFOP(fd,4), prefix, textlen); // [Qwadrat] WFIFOW(fd,0) = 0x8e; WFIFOW(fd,2) = RFIFOW(fd,2) + 8; // 8 - textlen [Qwadrat] WFIFOSET(fd, WFIFOW(fd,2));
  10. /modules/admin_spawn/parse.php Меняем $path = FLUX_ROOT . '/upload_npc/npc/' . $this->pref . '/scripts_main.conf'; На $path = FLUX_ROOT . '/upload_npc/npc/scripts_main.conf'; Находим $files[] = FLUX_ROOT . '/upload_npc/' . $item; Заменяем на $files[] = FLUX_ROOT . '/upload_npc/' . trim($item); Ищем $files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . $item)); И вместо этого пишем $files = array_merge($files, $this->getFiles(FLUX_ROOT . '/upload_npc/' . trim($item))); Должно помочь. У меня так работает.
  11. Думаю эта инфа будет полезной. То чувство, когда игрок знает больше тебя
  12. 1. Выделенный сервер в Европе с анти-ддосом (ежемесячно 3-5к руб.) 2. Накрутка в популярных игровых топах (можно конечно самому, а так хз последний раз когда обращался в 3 топах по 1к голосов стоило мне ~2к руб.) 3. Мультиязычность сервера, клиента и сайта. 4. Пиар на форумах топовых гильдий, в фейсбуке, в вк и других ресурсах, можно также подрубить директ (неплохо будет на этапе перед открытием) 5. Хороший саппорт со знанием английского для осуществления техподдержки на форуме и в игре. 6. Защита Gepard Shield 2.0 (самая актуальная, стоимость помоему ~150$) Основные моменты для успешного сервера. Возможно что-то упустил... На самом деле всё реально, вот только кому это надо так заморачиваться, когда проще открыть серв для себя и друзей, или для быстрой наживы и через месяц-другой закрыть его.
  13. В СНГ странах РО давно уже вымерло, пора бы уже это понять. Завтра Tree of Savior должна стать бесплатной для всех: http://steamcommunity.com/app/372000/ Некоторые уже там играют и еще какая-то часть свалит туда.
  14. Victor

    mentalro

    Это же очевидно...
  15. Смею предположить, что для атача надо использовать sleep2
  16. Это не только с этим косяк, везде на форуме хайд полетел. Почините уже наконец.
  17. Victor

    Vending

    Решение конечно неплохое, но хотелось бы получить помощь с реализацией в SRC
  18. Victor

    Vending

    Появилась необходимость сделать проверку минимального расстояния до трейдера vending.c в функции vending_openvending после // check number of items in shop if( count < 1 || count > MAX_VENDING || count > 2 + vending_skill_lvl ) { // invalid item count clif_skill_fail(sd, MC_VENDING, USESKILL_FAIL_LEVEL, 0); return; } добавить struct block_list *bl; if((check_distance_blxy(sd->bl.m,sd->bl.x,sd->bl.y,3))&& (((TBL_PC*)bl)->vender_id)) { clif_displaymessage(sd->fd, "Вы ставите магазин слишком близко к другому торговцу. Минимальное расстояние: 3 клетки."); clif_skill_fail(sd, MC_VENDING, USESKILL_FAIL_LEVEL, 0); return; } Компилируется без ошибок, но мод работает криво. Т.е расстояние не проверяет и магазин можно всё равно ставить рядом. Источник: https://www.eathena.ws/board/index.php?showtopic=189873 Есть идеи как поправить?
  19. Смотрю много желающих помочь. Вообщем плачу 5 WMZ за решение вопроса.
  20. У меня через скрипт на персонажа вешаются положительные бафы sc_start SC_INCMATKRATE,-1,10; Здесь благодаря таймеру, уходящему в минус - мы получаем баф на неопределенный срок. Но госпел сбрасывает его, а мне не нужно чтобы он этого делал, либо чтобы после окончания умения эти бафы снова накладывались.
  21. Имеется умение PA_GOSPEL Также есть скрипт, дающий статусы (бонусы), к примеру SC_INCATKRATE и SC_INCMATKRATE Госпел эти статусы скидывает. Где-то в этом куске это нужно сделать, только вот как именно понять не могу. case PA_GOSPEL: if (sce && sce->val4 == BCT_SELF) { status_change_end(src, SC_GOSPEL, INVALID_TIMER); return 0; } else { sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0); if (!sg) break; if (sce) status_change_end(src, type, INVALID_TIMER); //Was under someone else's Gospel. [Skotlex] sc_start4(src,type,100,skilllv,0,sg->group_id,BCT_SELF,skill_get_time(skillid,skilllv)); clif_skill_poseffect(src, skillid, skilllv, 0, 0, tick); // PA_GOSPEL music packet } break; Нарыл в примерах проверку: if (sd->sc.count && (sd->sc.data[SC_INCATKRATE] || sd->sc.data[SC_INCMATKRATE])) { ... } Требуется: при использовании госпеля, чтобы статусы после сброса по новой присваивались персонажу. Помогите разобраться. Как sc_start реализовать в проверку?
  22. Правильная ссылка потому что будет такая: http://game100rus.com/sitedetails_10883.html
  23. Я конечно извиняюсь, но какое отношение это имеет к данной теме? Если этот баг присутствует во всех сборках и про него знают лишь единицы.
×
×
  • Создать...
Яндекс.Метрика