Добрый время суток! Интересует следущее, возможно ли пакетами или скриптом точить скилы на максимум, если книги не ограничены? Скриптов на точку оружия куча,а вот на скилы не слышал. Есть ли он и какой именно пакет отвечает за енчант скила, не за инфу об улучшении. Хроника Фрея
Последний раз редактировалось Rash, 09.03.2011 в 12:22.
Добрый день) Заточка скилов с помощью скриптов возможна, на форуме есть 2 примера такого скрипта, но они немного староваты (для С4 и Т0). За заточку скила отвечает пакет реквест енчант скил (посмотреть структуру пакета можно Packets*.ini).
__________________
В любом из нас спит гений. И с каждым днем все крепче.
var SubID, SkillID, SkillLvl, CurrEnch, Type1: integer;
//основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin if FromServer and ((pck[1]=#$62) and (pck[3]=#$05)) then case pck[2] of #$A0: //точнулся if CurrEnch<Enchant then begin CurrEnch:=CurrEnch+1; Buf:=#$D0; WriteH(SubID); WriteD(SkillID); WriteD(SkillLvl+CurrEnch); SendToServerEx(nik); end; #$A1: //не точнулся begin CurrEnch:=1; Buf:=#$D0; WriteH(SubID); WriteD(SkillID); WriteD(SkillLvl+CurrEnch); SendToServerEx(nik); end; end;
if FromClient and ((pck[1]=#$D0) and (pck[2]=#$0F)) then begin SubID:=ReadH(2); SkillID:=ReadD(4); SkillLvl:=ReadD(8)-1; CurrEnch:=1; end; end.
// задержка между точками в сек. interval = 0; // отладочные сообщения MainDebug = false; var CurLevel: integer; tick: integer; SKillID: integer;
procedure Init; //Вызывается при включении скрипта begin CurLevel := -1; end;
// пауза в секундах function Wait(var tick: integer; Timewait: Integer): Boolean; // сквозная проверка без остановки скрипта var t: integer; begin result:=false; t:=Round(Time*86400); if t>(tick+Timewait) then begin if tick>0 then result:=true; tick:=t; end; end;
//###################### Сообщения ############################################# // послать сообщение в чат себе procedure SendMsg_to_Chat(ChatType: integer; msg:string); // отправка системных сообщений клиенту begin buf:=#$4A; WriteD(0); WriteD(10); WriteS(NickName); WriteS(msg); SendToClientEx(NickName); end; // послать отладочное сообщение себе procedure DebugMsg(msg:string); begin if MainDebug then SendMsg_to_Private(msg); end; // послать сообщение себе в приват procedure SendMsg_to_Private(msg:string); begin SendMsg_to_Chat(2,msg); end;
//основная часть скрипта //вызывается при приходе каждого пакета если скрипт включен begin if pck = '' then exit; // Т.к. использоваться будет только для одного чара, остальных сразу отсеиваем if ConnectName<>NickName then Exit;
// пакет - сообщение со статусом заточки if FromServer and (pck[1]=#$62) and (pck[3]+pck[4]+pck[5] = HStr('05 00 00')) then begin if (pck[2] = #$A0)or(pck[2] = #$A1)then begin SKillID := ReadD(14); CurLevel := ReadD(18); // заточка была не удачной, обнуляем текущий уровень заточки if pck[2] = #$A1 then CurLevel := (CurLevel div 100)*100; // округляем DebugMsg('SKillID='+inttostr(SKillID)+'; CurLevel='+inttostr(CurLevel)); if (CurLevel mod 100) >= MaxEnchantLevel then CurLevel := -1; tick := 0; Wait(tick, interval); end; end;
// Можно закомментировать "and Wait(tick, interval)", точиться будет намного быстрее, // только ощущение такое, что шанс точки меньше, хотя может и показалось if (CurLevel >= 0) then begin DebugMsg('точим'); buf := HStr('D0 0F 00'); WriteD(SKillID); WriteD(CurLevel+1); SendToServerEx(NickName); CurLevel := -1; end; end.
Проверял на фреии работает не забывай что сп не вечное =)
Добавлено через 35 секунд
оправка в чат не работает сам поправиш если надо
Добавлено через 5 минут
P.S добавте етот скрипт в жыстокии скриптинг а то уже тем нащет скрипта точки скилов полно надоедает отвечать одно и тоже.
Учимся юзать поиск!
Последний раз редактировалось wimax, 01.03.2011 в 04:25.
Причина: Добавлено сообщение
скрипт червя дисконектит через 5-7 точек скила, скрипт вимакса просто 0 действий. Выбрал скрипт , всё заполнил как надо , выбираю скил, начинаю точить и никаких действий со стороны скрипта нет. В чём может быть проблема, тут же проще простого ,но не работает!?
Последний раз редактировалось Rash, 10.03.2011 в 17:24.
Причина: Добавлено сообщение