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

Nezdeshniy

Проверенные
  • Постов

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

  • Посещение

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

    20

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

  1. Можно. Вот решение для урона от навыков(только от навыков): грубо, но быстро... clif.c -> ищи функцию int clif_skill_damage(struct block_list *src,struct block_list *dst,unsigned int tick,int sdelay,int ddelay,int damage,int div,int skill_id,int skill_lv,int type) в ней перед #if PACKETVER < 3 вставь это if(dst->type == BL_PC) { pc_setregistry(((TBL_PC*)dst),"LAST_DAMAGE",damage,3); pc_setregistry(((TBL_PC*)dst),"LAST_DAMAGE_SKILL_ID",skill_id,3); pc_setregistry(((TBL_PC*)dst),"LAST_DAMAGE_SKILL_LVL",skill_lv,3); npc_event_doall_id("OnDamage",dst->id); } Ну, переменные говорят сами за себя Для тестов: - script DAMAGE -1,{ OnDamage: mes "Урон: "+LAST_DAMAGE; mes "ID навыка: "+LAST_DAMAGE_SKILL_ID; mes "Ур. навыка: "+LAST_DAMAGE_SKILL_LVL; close; } Чет я приболел, если будут силы сегодня попробую тестить... Насколько я понимаю твой код данный лейбл будет срабатывать после каждого применения скилла, это хорошо, но вот мне необходимо определять именно последний атакующий скил, тоесть тот скилл после которого игрок умирает. В принципе думаю есть возможность связать лейблы onpcdieivent и твой, тогда будет вообще шикарно.
  2. Необходимо создать мод, правку сорцов, после которой было бы возможно дать понять скрипту срабатываемому при атаке - чем именно бьет игрок, каким именно скиллом, возможно я не заметил и такая возможность уже есть если кто знает поделитесь советом, как реализовать, какие шансы на успех и куда копать...
  3. Я ждал именно Вас! Во первых, что вы имеете в виду под >трансляцию адресов. Далее, вы конечно же скажете, как лучше ограничивать варезное распространение программы, чем привязывать ее к айпи. Спасибо! С уважением, Magnum AC Как самый распространенный вид для успешной защиты трафика - построение пограничного брандмауэра(в обиходе самый первый уровень NAT), если нет денег то люди возьмут простой маршрутизатор с допиленой линухой - получать нат и возможность ограничения пакетов. Если деньги есть то решение уровень предприятия от циски или аналог подешевле от делл или что нибудь еще мельче. Ну а если подходить с умом то это выделение отдельной машины под микротик, создание буфера и тотальный анализ сигнатур и полная цепочка трафика, возможно решение и с помощью определенных дистров линухи но лучше микротика только самые дорогие решения от циски или жунипера, но сам понимаешь цены от 15 килобаксов кусаются, а тут 6 уровень лицензии позволяет творить чудеса, а если учесть возможность стыковки с биллингом.... При таком подходе естественно что адрес внешней сети отличается от адреса внутреннего, то есть адрес сервера будет другой нежели на тот к которому будет привязываться защита, допустим 10. или 192. , ни одна из тестированных мною защит не смогла нормально разобрать пакет и понять что за топология сети между клиентом и сервером. Твою я не тестировал, не было возможности. Если твоя защита умеет работать в таком режиме то тебе только плюс. Касательно распространения - решение создание дополнительно к чар мап и логин - криптосервева, 4 батник который компилируется у продавца и перед запуском получаешь хеш с вашего удаленного сервера авторизации. Затраты - выделение 1 машины, создание 4 батника для афины. Второе решение - внедрение на стороне клиента авторизацию, причем она выполняет роль сбора инфы, каждый раз когда игрок запускает клиент от отправляет пакет на ваш сервер авторизации и там делается запись на какой айпи обращается клиент если в течении периода замечено что игроки лезут на БОЛЬШЕЕ чем оговорено лицензией количество айпи адресов то происходит блокировка. Это только два вида решения проблемы, есть еще много. (первое мне нравится больше - есть возможность выноса всех функций контроля из афины.) Нужно адекватно понимать что "защита" которую вы продаете - только часть брони, и без контроля трафика на стороне ISP все усилия будут сведены на ноль.
  4. Давно хотел сказать по поводу защиты, это ИМХО, но ни одна защита не дает возможности использовать трансляцию адресов, поэтому для нормальнго проекта такая защита не прокатит(я даже не упоминаю привязку к айпи - что есть верх глупости, хотя обоснование этого метода как защита прав - неверный подход, в итоге нет возможности создавать избыточность.), но с другой стороны на данный момент я знаю только троих кто смогли выйти на уровень филипин и конечно ни о каких сторонних костылях там и не было речи, то есть порядка 3+к онлайна чистого, а тут у нас компания 100+, так что для онлайна 100-500 возможно и прокатит, для серьезного проекта именно то что продают у нас совершенно не подходит.
  5. Совсем глупый вопрос. Но я сталкиваюсь с этим постоянно. Итак у вас есть доменное имя www.test.ru - на это доменное имя откликается веб сервер, то есть к определенной папке на сервере допустим C://www1/ привязано имя www.test.ru Стоит заметить что "www.test.ru" - доменное имя 3 уровня, вы покупаете второй уровень test.ru, и можете создавать сколько угодно имен в вашей зоне. Объясняю для идиотов - с древних времен создания Инета, пошла идея привЯзки к сайту "www", ваш сайт это test.ru. То есть не надо делать дибильные имена вида www.forum.test.ru. Итак мы понимаем теперь что нам необходимо создать домен 3 уровня forum.test.ru. Как создать - обращаемся за помощью к регистратору имени. Грубо говоря заносим запись в зону днс вашего доменного имени. УРА! Мы теперь знаем немного об именах но как его запустить ? что бы работал и форум и сайт ?. Правильно - настроить веб сервер что бы он перенаправлял в другую папку запросы по маске forum.test.ru Первое доменное имя 3 уровня www.test.ru смотрит в папку C://www1/ Второе доменное имя 3 уровня forum.test.ru смотри в папку C://www2/ , касательно вида ссылки www.test.ru/forum/ Вам просто надо создать папку в корне дериктории сайта с именем "forum", и там размещать файлы форума. Если знания не позволяют сделать настройку по днс то делаем вложенную папку, то есть www.test.ru/forum/
  6. я же говорю, все сделано правильно, но не работает, если есть какие либо идеи почему может не работать был бы рад услышать. Я рано или поздно найду в чем проблема но с вашей помощью было бы быстрее.
  7. Кстати говоря вопрос открыт, у меня проблема идентична, поиск не дал никаких результатов кроме как гайда о том как добавит или изменить квест, фйайд в папке дата имеется структура не битая, в серверной части тоже все нормально, но клиент отказывается показывать что либо... Версия ехе 20100730
  8. Советую основательно покопаться в родных data и rdata, там вы найдете множество спрайтов, которые можно использовать БЕЗ привлечения сторонних файлов.
  9. Не ожидал с вашей стороны пиздабольства. Сервера нету уже пол года, и по вашему вырвать из клиента карту,который лежит в общественном доступе пол года это нарушение чьих либо прав ? Шли бы вы отсюда... Вообще в ахуе от таких предъяв, у меня никогда небыло даже приближенного случая с утечкой данных клиентов, и тем более я никогда не давал никому данные даже после прекращения работы клиента, но к данным размещенным на хостинге не имеет отношения клиент размещенный в паблике. Вот и помогай людям, одно говно только в ответ.
  10. Сервре был у меня на хосте, смогу поискаь в бекапах грфку его только после начала сентября. Ну еще вариант дома его клиен есть.
  11. Ну можно сказать я идиолист, а можно сказать что проблема афины и недоработка разрабов, ибо длинна 23 а начиная с 19 символов сервер ругается, кроме того понятное дело у меня не все нпц такие имена имеют, ну а вдруг все ? И на будущее исправить проблему было бы замечательно, если не смогу найти решение оправлю в багрекер пусь исправляют. ДА мешают они мне адекватно смотреть лог консоли. бесит просто.
  12. Если бы мне было необходимо в клиенте фиксить это одно, проблема в том что длинна имена ровно 23 и видна прекрастно, но сервер ругается а мне не хочется убирать само сообщение для безопасности хочется увеличить на парочку длинну что бы небыло лишних сообщений...
  13. У меня сервер начал ругаться на то, что длинна имени нпц слишком уж длинная, но меня все устраивает, начал я копать: Вот сообщение об ошибке: [Warning]: npc_parsename: Name 'тут слишком длинное имя' is too long (len=допустим 25) Покопавшись в сорцах я вышел на переменную в mmo.h: #define NAME_LENGTH (23 + 1) После изменения значения переменной, сервер, после компиляции, в часности мап сервер и чар сервер, начали падать сообщением об ошибке, не суть важно какой. Я начал смотреть как проходит компиляция и нашел проблему точнее их много но все они одинаковы а именно: Компилятор сообщает что мало памяти: Примеры: \src\char_sql\inter.c(514): warning C4789: destination of memory copy is too small \src\char_sql\inter.c(529): warning C4789: destination of memory copy is too small \src\map\clif.c(8281): warning C4789: destination of memory copy is too small Вот код первой проблемы inter.c строка 514: Кусок кода: // search if character exists before to ask all map-servers if( SQL_SUCCESS != Sql_NextRow(sql_handle) ) { unsigned char buf[27]; WBUFW(buf, 0) = 0x3802; memcpy(WBUFP(buf, 2), RFIFOP(fd, 4), NAME_LENGTH); WBUFB(buf,26) = 1; // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target mapif_send(fd, buf, 27); } И вот тут я в ступоре, как бы тут надо чтото править а вот что я не знаю...есть идеи ?
  14. 1 - сорц поиск по названию скила 2 - сорц поиск по умению хил 3 - потому что : Job: Equippable jobs. Uses the following bitmask table: (S.) Novice (2^00): 0x00000001 Swordman (2^01): 0x00000002 Mage (2^02): 0x00000004 Archer (2^03): 0x00000008 Acolyte (2^04): 0x00000010 Merchant (2^05): 0x00000020 Thief (2^06): 0x00000040 Knight (2^07): 0x00000080 Priest (2^08): 0x00000100 Wizard (2^09): 0x00000200 Blacksmith (2^10): 0x00000400 Hunter (2^11): 0x00000800 Assassin (2^12): 0x00001000 Unused (2^13): 0x00002000 Crusader (2^14): 0x00004000 Monk (2^15): 0x00008000 Sage (2^16): 0x00010000 Rogue (2^17): 0x00020000 Alchemist (2^18): 0x00040000 Bard/Dancer (2^19): 0x00080000 Unused (2^20): 0x00100000 Taekwon (2^21): 0x00200000 StarGladi (2^22): 0x00400000 Soul Linker (2^23): 0x00800000 Gunslinger (2^24): 0x01000000 Ninja (2^25): 0x02000000 4 - мало инфы, количесво хп у моба ? какое максимальное в сорцах, скрины... 5 - возможно луа ?
  15. Луа. Удали этот клиент, зайди на рейтмайсервер и скачай нормальный чистый клиент, зайди на офф форум афины тот что старый по индексу /board/ и найди в поиске откуда качать луа файлы откуда брать ехе откуда брать готовую папку дата и почитай там гайды и сначало там пользуйся поиском на свои вопросы и только потом тут создавай темы, ты реально заебешь всех. на все твои вопросы уже есть давно ответы просто ищи.
  16. Nezdeshniy

    CS:GO играем?

    ...сравнивать версии кс, это разные игры. .. Люди не просто так играют в д2 несмотря на выход д3, это разные игры. ...Почему я до сих пор не удалил кваку3арена. ...Почему если я хочу пострелять от души я запускаю родной диск Сема первая кровь? и ставлю все на 600% так что игроки охреневают что за беспредел ? Почему не у меня одного особое положение занимает Unreal, и почему торнамент - только классик, и только в редких случаях мутаторы ?(какой нафиг 2003 и далее, лажа полная. Сами девелоперы гамают в классику) А халфа ? распрыга на кросе версия 1.3 или даже классикдефматч.
  17. Nezdeshniy

    CS:GO играем?

    только 1.6... (всмысле форева 1.6(1.1))
  18. Интересует вопрос, как можно заставить НПЦ скастовать на игрока определеннй скил, меня не интересует лечение или каст, меня интересует можноли заставить нпц кастануть на игрока скил азура или соник или просто нанести ущерб, причем не процентным отричательным хилом а именно атакой, болт пресура и тд...
  19. В квесте на сворда их 245 на карте, что вполне удовлетворяет правилам =\ Вот за что плюс то?(к Степе вопрос...) Не я не против, я привел пример для того что бы человек понял что именно я делаю, и показал аналог применения.
  20. job_sword1,56,212,0 script 2_blank_1_a::SwdTrap2 -1,40,0,{ OnTouch: switch(rand(1,5)) { case 1: warp "job_sword1",162,120; end; case 2: warp "job_sword1",94,120; end; case 3: warp "job_sword1",94,85; end; case 4: warp "job_sword1",162,85; end; case 5: warp "job_sword1",130,47; end; } } job_sword1,95,212,0 duplicate(SwdTrap2) 2_blank_1_b -1,2,0 ну и если на карте допустим 255 на 255 клеток то количество локальных нпц на карту быльше 512 явно получается даже если делать их захватывающими несколько клеток в радиусе.
  21. Проблема решена, в сорцах : ..\src\map\map.h первая же строка #define MAX_NPC_PER_MAP 512 Ну мне было необходимо поставить максимальное количество 40000.
  22. Собственно - какие проблемы может создать нахождение большого количества нпц на карте ? как изменить количество что бы мап сервер не ругался на это...
  23. Что не так написал?? if (getcharid(2) == (query_sql("SELECT `guild_id` FROM `char` WHERE `char_id` = killedrid"))){ }
×
×
  • Создать...
Яндекс.Метрика