Jump to content

Formatter

User
  • Content Count

    79
  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    0%

Everything posted by Formatter

  1. Бесполезно объяснять
  2. Там же в коде нужно смотреть как сделан спаун этих фонтанов, вероятно там явно указано время, а не переменная TRAPS_SPAWN_INTERVAL, что то вроде этого: actor.getReflection().addSpawnWithRespawn(TRAP_NPC_ID, TRAP_LOCS, 0, тут время);
  3. Ну да, точно не в БД дело, раз тебе веб пишет: Ошибка MySQL и её номер.
  4. Перевести анриал? Увеличить размер колонки, либо поменяй метод шифрования пароля
  5. Вероятно запрос не подходит
  6. Formatter

    D3D hook

    Какой ответ тебе нужен? "Зачем и для чего"? - Захотелось вывести некоторую доп. информацию на окно клиента. Да и в общем интересно стало. Глупый не глупый текст: уж извини, но видя твои посты во всех темах - могу то же самое сказать.
  7. Formatter

    D3D hook

    Ладно, своими силами разобрался, вывод текста/фигур получился, но при сворачивании/разворачивании окна - крит тот же. Может еще что-то хукать нужно помимо endScene? Как отследить это событие? Возможно кто-то рисовал в клиенте через Engine.Canvas? Нашел пример только для хроник выше - нашел аналогичную функцию (вроде как), но не знаю какие аргументы передать в функцию
  8. Formatter

    D3D hook

    А по теме есть что сказать?
  9. Formatter

    D3D hook

    Кто-нибудь занимался хуком directx с клиентом игры (Interlude)? Пытался и после инициализации окна, и непосредственно при загрузке библиотеки - один и тот же крит. Быть может у кого-то есть готовый вариант. часть кода (C++): cMemory* MemHack; typedef HRESULT(WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice); oEndScene pEndScene = NULL; HRESULT APIENTRY myEndScene(LPDIRECT3DDEVICE9 pDevice) { return pEndScene(pDevice); } int D3d9_Hook(void) { printf("D3D hook"); DWORD* vtbl = 0; DWORD hD3D9 = (DWORD)LoadLibraryA("d3d9.dll"); DWORD table = MemHack->FindPattern(hD3D9, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx"); memcpy(&vtbl, (void*)(table + 2), 4); pEndScene = (oEndScene)MemHack->Create_Hook((PBYTE)vtbl[42], (PBYTE)myEndScene, 5); printf(" OK\n"); return 0; } Ошибка клиента
  10. Это не в скрипте править нужно, а добавлять поддержку в ядре, или же в скрипте, но убрать вызов отсутствующих методов/заменить на аналогичные, но вероятно это повлечёт за собой дальнейшие проблемы
  11. Можно и через датапак (скрипт) в принципе, если есть нужные листенеры, ну или через квест (onEnter), смотреть onlineTime
  12. <?php class TopPvp { const PREFIX = 'top_pvp_'; function getPrefix() { return self::PREFIX; } function getPath() { return "./cache"; } private function getOrSave() { $path = $this->getPath(); $files = glob($path.'/'. $this->getPrefix() . '*'); if(count($files) > 0 && file_exists($files[0])) { $a = explode("_", $files[0]); $time = intval($a[count($a) - 1]); //echo "diff: " . (time() - $time); if(time() - $time >= 180) { unlink( $files[0] ); return $this->loadDb(); } else { return file_get_contents($files[0]); } } else { return $this->loadDb(); } } private function loadDb() { require "db.php"; $sql = 'SELECT characters.char_name, characters.pvpkills, characters.pkkills, characters.onlinetime, clan_subpledges.name, char_templates.ClassName, character_subclasses.class_id, clan_data.crest, ally_data.crest as ally_crest, clan_data.ally_id, clan_data.clan_id '. 'FROM characters '. 'LEFT JOIN `clan_subpledges` ON characters.clanid = clan_subpledges.clan_id AND clan_subpledges.type = 0 '. 'LEFT JOIN character_subclasses ON character_subclasses.char_obj_id = characters.obj_Id AND character_subclasses.active = 1 '. 'LEFT JOIN `char_templates` ON char_templates.ClassId = character_subclasses.class_id '. 'LEFT JOIN `clan_data` ON clan_data.clan_id = characters.clanid '. 'LEFT JOIN `ally_data` ON ally_data.ally_id = clan_data.ally_id '. 'ORDER BY pvpkills DESC LIMIT 10;'; $result = mysqli_query($db, $sql); $content = ""; if(mysqli_num_rows($result) > 0) { foreach($result as $row) { //var_dump($row); $content .= "<tr>"; $content .= '<td>' . $row['char_name'] . '</td>'; $content .= '<td style="font-weight: bold;">' . $row['pvpkills'] . '</td>'; $content .= '<td>' . $row['pkkills'] . '</td>'; if(empty($row['name'])) { $content .= '<td>-</td>'; } else { $crest1 = base64_encode($row['crest']); $crest2 = base64_encode($row['ally_crest']); $content .= '<td><img src="/php/dds.php?data=' . $crest2 . '&id=' . $row['ally_id'] . '"><img src="/php/dds.php?data=' . $crest1 . '&id=' . $row['clan_id'] . '"> ' . $row['name'] . '</td>'; } $content .= '<td>' . $row['ClassName'] . '</td>'; $online = intval($row['onlinetime']); $content .= '<td>'; $hours = floor($online / 3600); $minutes = floor(($online / 60) % 60); $seconds = $online % 60; $content .= "$hours ч. $minutes мин. $seconds сек."; $content .= '</td>'; $content .= "</tr>"; //$content .= '<div class="quote">' . $row['char_name'] . ' - ' . $row['pvpkills'] . ' PVP</div>' . "\n"; } } else { $content .= "<tr><td>-</td><td>-</td><td>-</td><td>-</td></tr>"; } $result->close(); file_put_contents($this->getPath() . "/" . $this->getPrefix() . "" . time(), $content); return $content; } function get() { $data = $this->getOrSave(); //foreach (explode("\n", $data) as $s) { // echo $s; //} return $data; } } ?>
  13. ... иди дропни с моба больше одного итема с группы
  14. Это только парсинг, а не механизм дропа, а так: 1 группа - 1 итем
  15. server_variables или что-то подобное
  16. Ну во-первых, делается это немного по-другому, судя по коду выше (как я понял onElapsed - это перемещение из зоны в зону (а зная как оно работает на таких сборках...)) - это вообще бубуйня какая то xD, но, если нет исходника, то вроде как только reflection (именно для pw) , либо же при входе чара (а это есть в пв) - запускаем задачу выдачи итемов(task), ну и кнч выключаем её при отключении/оффлайне
  17. Нужно обновить библиотеку ecj, как минимум на эту версию - ecj-4.6.1.jar
  18. если что - пиши в лс, помогу
  19. тебе не скрипт нужен, а дизайн. Вместо скрипта можно использовать "доску объявлений" или как там оно называется.
  20. abnormal="poison" замени, либо убери
  21. Что там не получается то? Если не получится - пиши в лс завтра ближе к обеду
  22. подменить значения в пакетах charinfo и userinfo, если не сможешь, пиши в личку. не за бесплатно естественно
  23. Цепляешь новое AI, либо же в уже имеющемся делаешь проверку на нужного пета, и в thinkActive() ищешь предметы рядом, проверяешь овнера и лутаешь
  24. Если есть знания - бери то, что советуют выше. А так для побаловаться - emurt
×
×
  • Create New...