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

Nezdeshniy

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

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

  • Посещение

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

    20

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

  1. Итак уважаемые знатоки, прошу вашей помощи, сам уже несколько дней ломаю голову... После убийства игрока необходимо выполнить действие, причем действие должно произойти только, если гильдии убившего и убитого одинаковы, каким макаром сравнить их гильдии ? В скрипте все построено через getcharid , killedrid... Для того кто убил понятно что будет if (getcharid(2), а вот как быть с тем кого убили как в сравнение добавить значение его гильдии...
  2. Из ваших сообщени не понятно...но: Не качайте готовые сборки, компилите свои собственные. Если есть желание могу скомпилировать, скажи какую тебе необходимо...
  3. Спасибо за помощь пригодилась твоя реализация для нескольких мап, все еще открыт вопрос о том как узнать каким методом был удит игрок...
  4. Не могу найти решение счетчика убийств, нужен простой код который сбрасывался при выходе с арены. желательно с приенением ondie и onkill. Интересует вопрос: реально ли скрипту отследить с помощью какого скила убит игрок ? что бы в зависимости от скила применить операцию...
  5. Ты бы описал суть задачи гма, вот только не надо что все давно всем понятно, одно дело когда администратор игрового ресурса заходит и другое дело когда человек со стороны, тупо маячить в столице и слушать сопли игроков? раздавать банхамер неверным? Если человек хочет быть гмом ему в последнюю очередь будет важны команды, на первое место встает задача и смысл его присутствия в игре.
  6. Речь идет об умышленном отказе в поддержке низких разрешений...
  7. Помоему администрации форума давно пора закрывать темы и выдавать варны и банхамеры за любые накрутки в топах или соцсетях, имхо вообще закрыть доступ из соцсетей. Минусовать не стал, запасся попкорном и жду профов в скринах насчет вирусняка..., если есть возможность показать пакеты снифера в закрытой модели сети вообще буду рад.
  8. Думаю суть вопроса ясна, прошу ваши мнения по поводу оптимальных размеров сайта. Можно оставлять сообщения вида : минимум - максимум. Лично мое мнение: если учитывать статистику продаж ноутбуков и статистику продаж мониторов то минимум можно брать 1366х768, а максимум пока считаю оставить 1920х1200. Кроме того интересно мнение по поводу статичности контента и резиновости модулей, какие есть идеи ? в определенных моделях размещения модулей резиновость - минус...
  9. мне кажется проблема с луа. Для удобства на будущее, версию ехе указываем.
  10. Nezdeshniy

    вирус ramnit

    Файловый вирус таким способом не выведешь Это файловый вирус, который заражает файлы на Вашем компе(системные в том числе). Необходимо из под LiveCD произвести сканирование антивирусным сканером CureIt. Он вылечит файлы. После чего не забудьте поменять свои пароли. Как мне известно Dr.Web тоже лечит файлы, или нет? Поставь Нод32, вылечит его легко, или используй другую операционку и на ней диск просканируй.
  11. Nezdeshniy

    Спрайт Физерки

    Необходимы страйты Физерок, разные цвета. Буду очень благодарен.
  12. По дефолту нотпад не выделяет цветом код скриптов афины, так как формат тхт, есть ли готовое решение или самому придется стиль править ?
  13. Темку закрыть можно, отправил в баг трекер. //===== rAthena Script ======================================= //= Gemstone trader //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= [Aegis Conversion] //= Trade various colors of gemstones for other color gemstones. //===== Additional Comments: ================================= //= 1.0 Rescripted to Aegis 10.3 standards. [L0ne_W0lf] //= Any notes pertaining to the prior trader may be found //= in the cities/payon.txt //= 1.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] //= 1.2 Updated input with min/max values. [L0ne_W0lf] //= Added a checkweight. //= 1.3 Updated two little errors. [Nezdeshniy] //= Corrected input for 100 items and add check for number in input label. //============================================================ payon,173,238,5 script Jade#pay 754,{ if (checkweight(1201,1) == 0) { mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; close; } mes "[Jade]"; mes "Bring me two"; mes "Gemstones of the"; mes "same color, and I will"; mes "change them to Gemstones"; mes "of a different color."; next; switch(select("Blue Gemstones into Red ones!:Red Gemstones into Yellow ones!:Yellow Gemstones into Blue ones!")) { case 1: callsub S_TradeGems,717,716; case 2: callsub S_TradeGems,716,715; case 3: callsub S_TradeGems,715,717; } S_TradeGems: if (countitem(getarg(0)) < 2) { mes "[Jade]"; mes "Hah...!"; mes "You're kidding me, right?"; mes "I can't provide you with this"; mes "service if you don't"; mes "give me at least"; mes "2 "+getitemname(getarg(0))+"s!"; close; } else { set .@gems,countitem(getarg(0))/2; set .@gems_check,countitem(getarg(0)); mes "[Jade]"; mes "I believe I can create"; mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s"; mes "using the "+getitemname(getarg(0))+"s"; mes "that you currently have."; mes "What do you want to do?"; next; switch(select("Give me as many as you can.:I want to set the amount.:I quit.")) { case 1: delitem getarg(0),.@gems * 2; getitem getarg(1),.@gems; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; close; case 2: mes "[Jade]"; mes "So how many"; mes "do you want?"; mes "The maximum number"; mes "that you can enter is 100."; next; while(1) { input .@input,0,101; if (.@input == 0) { mes "[Jade]"; mes "None at all?"; mes "I guess you"; mes "changed your mind..."; close; } else if (.@input > 100) { mes "[Jade]"; mes "Errm..."; mes "I asked you to enter"; mes "an amount no greater"; mes "than 100, remember...?"; next; } else if ((.@input * 2 ) > .@gems_check) { mes "[Jade]"; mes "Sorry, the amount of your Gemstones is less than needed..."; next; } else { break; } } if (.@gems >= .@input) { delitem getarg(0),.@input * 2; getitem getarg(1),.@input; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; } close; case 3: mes "[Jade]"; mes "Sure, no problem."; mes "Come back any time."; close; } } }
  14. Проверяя скрипт Gemstone trader, я нашел ошибку, в скрипте указано, что игрок может сам выбирать количество создаваемых камней и МАКСИМАЛЬНО количество может быть не более 100: payon,173,238,5 script Jade#pay 754,{ if (checkweight(1201,1) == 0) { mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; close; } mes "[Jade]"; mes "Bring me two"; mes "Gemstones of the"; mes "same color, and I will"; mes "change them to Gemstones"; mes "of a different color."; next; switch(select("Blue Gemstones into Red ones!:Red Gemstones into Yellow ones!:Yellow Gemstones into Blue ones!")) { case 1: callsub S_TradeGems,717,716; case 2: callsub S_TradeGems,716,715; case 3: callsub S_TradeGems,715,717; } S_TradeGems: if (countitem(getarg(0)) < 2) { mes "[Jade]"; mes "Hah...!"; mes "You're kidding me, right?"; mes "I can't provide you with this"; mes "service if you don't"; mes "give me at least"; mes "2 "+getitemname(getarg(0))+"s!"; close; } else { set .@gems,countitem(getarg(0))/2; mes "[Jade]"; mes "I believe I can create"; mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s"; mes "using the "+getitemname(getarg(0))+"s"; mes "that you currently have."; mes "What do you want to do?"; next; switch(select("Give me as many as you can.:I want to set the amount.:I quit.")) { case 1: delitem getarg(0),.@gems * 2; getitem getarg(1),.@gems; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; close; case 2: mes "[Jade]"; mes "So how many"; mes "do you want?"; mes "The maximum number"; mes "that you can enter is 100."; next; while(1) { input .@input,0,101; if (.@input == 0) { mes "[Jade]"; mes "None at all?"; mes "I guess you"; mes "changed your mind..."; close; } else if (.@input > 100) { mes "[Jade]"; mes "Errm..."; mes "I asked you to enter"; mes "an amount no greater"; mes "than 100, remember...?"; next; } else { break; } } if (.@gems > .@input) { delitem getarg(0),.@input * 2; getitem getarg(1),.@input; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; } close; case 3: mes "[Jade]"; mes "Sure, no problem."; mes "Come back any time."; close; } } } Как мы видим в скрипте реализовано это следующим образом: if (.@gems > .@input) { delitem getarg(0),.@input * 2; getitem getarg(1),.@input; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; } close; Ошибка заключается в том что при вводе 100 нпц ничего не делает, исправляем выше приведенную часть на: if (.@gems >= .@input) { delitem getarg(0),.@input * 2; getitem getarg(1),.@input; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; } close; На всякий случай все же спрошу знатоков - не приведет ли такое изменение к ошибке в ходе работы скрипта? P.S. - начал дальше проверять, вообще скрипт кривой, итак максимальное количество мы исправили и теперь он создает 100 нормально, но вот допустим я уберу требуемое количество лута так что не хватает на 100, а на 99 только и он уже не пишет ничего если напишу 100. Проще говоря смотрите что добавил: payon,173,238,5 script Jade#pay 754,{ if (checkweight(1201,1) == 0) { mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; close; } mes "[Jade]"; mes "Bring me two"; mes "Gemstones of the"; mes "same color, and I will"; mes "change them to Gemstones"; mes "of a different color."; next; switch(select("Blue Gemstones into Red ones!:Red Gemstones into Yellow ones!:Yellow Gemstones into Blue ones!")) { case 1: callsub S_TradeGems,717,716; case 2: callsub S_TradeGems,716,715; case 3: callsub S_TradeGems,715,717; } S_TradeGems: if (countitem(getarg(0)) < 2) { mes "[Jade]"; mes "Hah...!"; mes "You're kidding me, right?"; mes "I can't provide you with this"; mes "service if you don't"; mes "give me at least"; mes "2 "+getitemname(getarg(0))+"s!"; close; } else { set .@gems,countitem(getarg(0))/2; set .@gems1,countitem(getarg(0)); mes "[Jade]"; mes "I believe I can create"; mes "a total of " + .@gems + " " + getitemname(getarg(1)) + "s"; mes "using the "+getitemname(getarg(0))+"s"; mes "that you currently have."; mes "What do you want to do?"; next; switch(select("Give me as many as you can.:I want to set the amount.:I quit.")) { case 1: delitem getarg(0),.@gems * 2; getitem getarg(1),.@gems; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; close; case 2: mes "[Jade]"; mes "So how many"; mes "do you want?"; mes "The maximum number"; mes "that you can enter is 100."; next; while(1) { input .@input,0,101; if (.@input == 0) { mes "[Jade]"; mes "None at all?"; mes "I guess you"; mes "changed your mind..."; close; } else if (.@input > 100) { mes "[Jade]"; mes "Errm..."; mes "I asked you to enter"; mes "an amount no greater"; mes "than 100, remember...?"; next; } else if ((.@input * 2 ) > .@gems1) { mes "[Jade]"; mes "You don't have soo many gem's..."; next; } else { break; } } if (.@gems >= .@input) { delitem getarg(0),.@input * 2; getitem getarg(1),.@input; mes "[Jade]"; mes "There you go."; mes "Feel free to come"; mes "back any time."; mes "Hm, what's that look for?"; mes "Is there something on my face?"; } close; case 3: mes "[Jade]"; mes "Sure, no problem."; mes "Come back any time."; close; } } }
  15. т.е. трафик обрабатывается на стороннем сервере? клиент -> твой сервер -> мой сервер мой сервер -> твой сервер -> клиент так? Это было бы слишком хорошо, но у меня нет возможностей предоставить качественный туннель. У меня только сервер авторизации. А насчет обходов (не скрываю, конечно же они были) - по моему опыту лучше не верить, пока не увидете сами, 70% всех слухов оказываются неправдой. А что мешает сделать проверку интервалом? Если код плавующий то на криптосервере достаточно поставить таймер который будет сверять сумму и если обнаруживается нарушение целостности то посылает сигнал афине которая в свою очередь блокирует игрока до выяснения обстоятельств вызвавших срабатывание...и совершенно нет смысла выделять прочный туннель...
  16. Да айди я посмотрел просто в ступоре нафига вообще проверять вес ножиком ?? если он вообще не участвует, нпц же не дает просто лут а удаляет и потом только дает...странно как то... Но спасибо за внимание к проблеме... щас подумаю может если убрать баг найдется...
  17. Nezdeshniy

    Проверка на вес?

    Прошу прощения в НПЦ отвечающим за гембл камней, что находится в Паене в самом начале происходит проверка на вес игрока, и тут у меня несколько вопросов возникают: payon,173,238,5 script Jade#pay 754,{ if (checkweight(1201,1) == 0) { mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; close; } Что означает данная строка (checkweight(1201,1) == 0) ? Точнее что за числа и откуда они там ? не могу понять... И второе если нпц в принципе удаляет два камня и дает 1 зачем вообще проверка ?
  18. Все верно, при правильной настройке сервера смысл ботов и кликеров отпадает. Например? Если я отвечу тебе в полной мере то это вызовет глобальный холивар, но для примера скажу что если рассматривать всю серверную часть в целом до 2007 года то можно увидеть баланс настроенный на инстантдеф, проще говоря либо ты убиваешь либо нет - что полностью убирало смысл автожора, а от остального дамага игроки сами могли отъедаться. Касательно ботоводства проблема решается правильно настроеными мобами и мелким изменение типа дропа+ введение специального лута, который на корню убивает смысл бота, какого именно спец. лута думай сам, уверен сам быстро придумаешь, ну и конечно тесная связь между лутом и нпц и возможность получения предметов несколькими путями, все эти действия и многие другие сделают нерентабельным ботов. И главное голова на плечах, грамотно составленные чейны на фаерволах, счетчики потоков и пакетов, и конечно сниферы на серверном оборудовании в связке с датчиками. О какой защите может идти речь в сегодняшних реалиях если 99% открываемых серверов: а - однодневки, б - супермегаультрахайендрейт, в - не могут нормально настроить соединение с базой данных и нормально создать mysql аккаунт в правильным доступом, г - ставят кривые цп и регистрации(ВСЕ КРИВЫЕ повально) и сразу сливают свою базу ?
  19. Все верно, при правильной настройке сервера смысл ботов и кликеров отпадает.
  20. Проверь запущена ли служба веб сервера, добавить в правила фаервола порт 80 или отключи фаервол временно. Проверь конфиг и проверь логи апача что пишет.
  21. Nezdeshniy

    Self damage

    Уважаемые знатоки, помогите, есть ли возможность с помощью скрипта для итема реализовать урон себе, допустим при касте даблстрейфа игрок получает урон по себе, как именно легче реализовать в процентном отнимании хп или же конкретное число ?
  22. Помогите, не могу никак понять как возможно реализовать скрипт, который бы на карте создавал монстра и если в течении N времени его не убивают то убирал моба, причем убийство монстра не скидывало бы таймер скрипта на ноль. Период скрипта допустим 30 минут.
  23. Уже не первый рза наблюдаю проблему у новых ревизий афины. : DB error - Using unsupported buffer type: 1615701 (parameter: 3) [Debug]: at c:\users\hostuser030\desktop\eathena\src\login\account_sql.c:637 - U PDATE `login` SET `userid`=?,`user_pass`=?,`sex`=?,`email`=?,`level`=?,`state`=? ,`unban_time`=?,`expiration_time`=?,`logincount`=?,`lastlogin`=?,`last_ip`=?,`bi rthdate`=? WHERE `account_id` = '1' [Status]: Connection of the char-server '' accepted. Посмотрел, почитал в инете информацию, проблема явно связана с версией сервера mysql, версия сервера 5.5, но почемуто проблемы получились только недавно... Строка на которую указывает ошибка: SqlStmt_ShowDebug(stmt); Кусок кода целиком: [code]static bool mmo_auth_tosql(AccountDB_SQL* db, const struct mmo_account* acc, bool is_new) { Sql* sql_handle = db->accounts; SqlStmt* stmt = SqlStmt_Malloc(sql_handle); bool result = false; int i; // try do { if( SQL_SUCCESS != Sql_QueryStr(sql_handle, "START TRANSACTION") ) { Sql_ShowDebug(sql_handle); break; } if( is_new ) {// insert into account table if( SQL_SUCCESS != SqlStmt_Prepare(stmt, "INSERT INTO `%s` (`account_id`, `userid`, `user_pass`, `sex`, `email`, `level`, `state`, `unban_time`, `expiration_time`, `logincount`, `lastlogin`, `last_ip`, `birthdate`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", db->account_db) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 0, SQLDT_INT, (void*)&acc->account_id, sizeof(acc->account_id)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 1, SQLDT_STRING, (void*)acc->userid, strlen(acc->userid)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 2, SQLDT_STRING, (void*)acc->pass, strlen(acc->pass)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 3, SQLDT_ENUM, (void*)&acc->sex, sizeof(acc->sex)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 4, SQLDT_STRING, (void*)&acc->email, strlen(acc->email)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 5, SQLDT_INT, (void*)&acc->level, sizeof(acc->level)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 6, SQLDT_UINT, (void*)&acc->state, sizeof(acc->state)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 7, SQLDT_LONG, (void*)&acc->unban_time, sizeof(acc->unban_time)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 8, SQLDT_INT, (void*)&acc->expiration_time, sizeof(acc->expiration_time)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 9, SQLDT_UINT, (void*)&acc->logincount, sizeof(acc->logincount)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 10, SQLDT_STRING, (void*)&acc->lastlogin, strlen(acc->lastlogin)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 11, SQLDT_STRING, (void*)&acc->last_ip, strlen(acc->last_ip)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 12, SQLDT_STRING, (void*)&acc->birthdate, strlen(acc->birthdate)) || SQL_SUCCESS != SqlStmt_Execute(stmt) ) { SqlStmt_ShowDebug(stmt); break; } } else {// update account table if( SQL_SUCCESS != SqlStmt_Prepare(stmt, "UPDATE `%s` SET `userid`=?,`user_pass`=?,`sex`=?,`email`=?,`level`=?,`state`=?,`unban_time`=?,`expiration_time`=?,`logincount`=?,`lastlogin`=?,`last_ip`=?,`birthdate`=? WHERE `account_id` = '%d'", db->account_db, acc->account_id) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 0, SQLDT_STRING, (void*)acc->userid, strlen(acc->userid)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 1, SQLDT_STRING, (void*)acc->pass, strlen(acc->pass)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 2, SQLDT_ENUM, (void*)&acc->sex, sizeof(acc->sex)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 3, SQLDT_STRING, (void*)acc->email, strlen(acc->email)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 4, SQLDT_INT, (void*)&acc->level, sizeof(acc->level)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 5, SQLDT_UINT, (void*)&acc->state, sizeof(acc->state)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 6, SQLDT_LONG, (void*)&acc->unban_time, sizeof(acc->unban_time)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 7, SQLDT_LONG, (void*)&acc->expiration_time, sizeof(acc->expiration_time)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 8, SQLDT_UINT, (void*)&acc->logincount, sizeof(acc->logincount)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 9, SQLDT_STRING, (void*)&acc->lastlogin, strlen(acc->lastlogin)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 10, SQLDT_STRING, (void*)&acc->last_ip, strlen(acc->last_ip)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 11, SQLDT_STRING, (void*)&acc->birthdate, strlen(acc->birthdate)) || SQL_SUCCESS != SqlStmt_Execute(stmt) ) { SqlStmt_ShowDebug(stmt); break; } } // remove old account regs if( SQL_SUCCESS != Sql_Query(sql_handle, "DELETE FROM `%s` WHERE `type`='1' AND `account_id`='%d'", db->accreg_db, acc->account_id) ) { Sql_ShowDebug(sql_handle); break; } // insert new account regs if( SQL_SUCCESS != SqlStmt_Prepare(stmt, "INSERT INTO `%s` (`type`, `account_id`, `str`, `value`) VALUES ( 1 , '%d' , ? , ? );", db->accreg_db, acc->account_id) ) { SqlStmt_ShowDebug(stmt); break; } for( i = 0; i < acc->account_reg2_num; ++i ) { if( SQL_SUCCESS != SqlStmt_BindParam(stmt, 0, SQLDT_STRING, (void*)acc->account_reg2[i].str, strlen(acc->account_reg2[i].str)) || SQL_SUCCESS != SqlStmt_BindParam(stmt, 1, SQLDT_STRING, (void*)acc->account_reg2[i].value, strlen(acc->account_reg2[i].value)) || SQL_SUCCESS != SqlStmt_Execute(stmt) ) { SqlStmt_ShowDebug(stmt); break; } } if( i < acc->account_reg2_num ) { result = false; break; } // if we got this far, everything was successful result = true; } while(0); // finally result &= ( SQL_SUCCESS == Sql_QueryStr(sql_handle, (result == true) ? "COMMIT" : "ROLLBACK") ); SqlStmt_Free(stmt); return result; }[/code] Мне кажется проблема связана с добавлением последнего пункта в базу деньрождения, если кто может чем помочь скажите куда копать...
  24. Nezdeshniy

    D3

    И вообще апофеоз идиотизма, у меня 30 скилов, единомоментно могу юзать только 6, если я захочу поменять в битве скил, ТО КУЛДАУН 2 минуты на максимальной сложности, да че за нахер совсем чтоли охуели нахрена вообще делать было скилы.... Урон...ДПС....вы только вдумайтесь!! Скорость каста заклинания и дамаг заклинания зависит от 1 параметра и от дамага оружия... просто нет слов. нет разницы какой у меня уровень, дайте мне оружие с дамагом 100500 и я первым лвл персонажа всех порулю, и нет важности кто мне противостоит если у меня шмот дает 90 резиста от всего...да уж... Близард сказало что то что сейчас нету скилов и храктеристик персонажа - это мол вам что бы вы не запороли чара, что ыб не надо было делать резет, БЛЯТЬ, а раньше все это было и ничего был квест, надо было собирать эссенции и крафтить брелок для резета... и это было ИНТЕРЕСНО!!! И ЛЕГКО ! Ну и напоследок, даже руководство стима тайно высмеивает новую диабло. в диабло 2 был секретный уровень коров, ну конечно все помнят, ОН БЫЛ В СТИЛИСТИКЕ ИГРЫ!!! в д3 тоже есть секретный уровень, откройте ютуб посмотрите как он выглядит......... СТИМ прикололось по полной вы поервых выпустили ролик с последним чаром тимфортреса ПИРОМАНОМ, опять же смотрим ютуб, и выпустило обновление где типо мир такой же..... ВОБЩЕМ Вдумайтесь в то что говорят в ролике персонажи, реальный стеб над близардами... все что происходит в ролике это полностью жесткий стеб над близардами.. Была д2 версии 1.07 = наверное самая известная версия, сложно описать чем она была ЛУЧШЕЙ, просто скачайте и поиграйте в сингл, и было уникальное дерево скилов, и тут разрабов посетил бог, и они в новой версии сделали зависимость скилов друг от друга, и мы получили в итоге версию 1.12, которая была ну и сейчас версия 1.13 есть просто конфеткой, совершенно бесконечное многообразие развития и тактик, а в д3 ? да нету всего этого, что они делали 7 лет ? графику ?, блин ребят скачайте винду милениум и поставьте на нее если найдете "ОНИ"...вы увидите откуда содрана графика... О том что все серверы лагают и часть функций игры не работает нет смысла говорить, я например так и не смог добавить никого в друзья и мне несмогли адекватно объяснить как именно вводить ник персонажа что бы добавить, а между прочим в д2 в батле все чуть ли не консольный вид имело! а тут тебе полный гуи интерфейс... Ну хорошо нет разницы сколько уровней персонажа, 60 или 99, но почему я за 5 сезонов ладера д2 так и не смог получить 99! а тут я за 3 недели 60 взял и 55 второму...
×
×
  • Создать...
Яндекс.Метрика