PDA

Просмотр полной версии : Скрипт на заточку под сервер Epoch-life(х7 000)


Shock3D
27.06.2011, 20:43
Ребят в скриптах не бум бум, вообще непонимаю как его настроить под сервер...

Пажалуста подскажите готовый скрипт под сервер Epoch-life(интерлюд).

Мне нужно что бы он просто точился. Без покупок и прочей фигни, просто подрят 1 и туже пушку до определенной отметки, буду очень благодарен...

NLObP
27.06.2011, 21:53
Shock3D, есть темы со сриптами заточки, подбери подходящий скрипт.

EmL
01.08.2011, 11:04
Этот скрипт для интерлюда,настраивал "wimax"
Const
NickName = 'Shock3D';
MaxEnchantLevel = Доскольки точить ЧИСЛО;

interval = 230; //Интервал между точкой
MainDebug = false; // ПИСАТТЬ СОБОЩЕНИЯ В ЧАТ ИЛИ НЕТ ДА-true НЕТ-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) and Wait(tick, interval) then begin
DebugMsg('точим');
buf := HStr('D0 0F 00');
WriteD(SKillID);
WriteD(CurLevel+1);
SendToServerEx(NickName);
CurLevel := -1;
end;
end.