А зачем нужна ета прога на точку? Только для тех кому лень точить вручную или даёт какиета преимущества?
Да, для ленивых. И ради спортивного интереса.
Добавлено через 3 минуты
Цитата:
Сообщение от nikolas666
Еще один маленький вопросик))Запускаю точку все работает точит а когда все предметы ломаются и становятся на +0 все виснет и прога не отвечает(((Что надо изменить в скрипте /Автоматизация заточки предметов до необходимого уровня by NLObP
//version 0.4 от 27.06.2008г.
и еще разок напишите плз как скорость менять и куда енто вписывать,?
Прочитай темку про точку, я там показывал что надо изменить, если точишь кристаллическими точками и оружие не ломается про неудаче, то есть заточка сбрасывается в 0. И вдруг, если хочешь, точить только один предмет.
Не совсем из того скрипта, но время можно менять здесь
timer.interval:=1000; //время задержки
Добавлено через 1 минуту
Цитата:
Сообщение от Минёр
Куда скрипты ложить надо папку создавать или где нужно заливать скрипт?
в составе пакетхака уже есть папка SCRIPTS с примерами скриптов, туда и ложи свои.
Последний раз редактировалось NLObP, 02.07.2008 в 19:49.
Причина: Добавлено сообщение
А как это прописать на месте *возврат в город*? =)
Код:
CharStatus(HP,<,1)
{
SAY(Что я тебе сделал? :'() //бот ЭМО =)
*команда возврат в город* //как её прописать?
}
У меня реализовано так, в основном цикле отлавливаю пакет Die
delphi Код:
//***************************************************************//пакет Die (моб умер)//06=Die:h(CharID)d(d)d(HAsHideout)d(HasCastle)d(flags)d(sweepable)d(access)
#$06: beginif(MyOID=ReadD(2))thenbegin
msg.Lines.Add('Нас убили в '+TimeToStr(time));
underattack:=false;
inc(death1);
fishin.enabled:=false;
isFishing:=false; //сейчас не ловим{---->} RequestRestartPoint; //оживаем после смерти в городеend;
end;
а сам возврат
delphi Код:
//***************************************************************procedure RequestRestartPoint;
begin
buf:=#$6D;
WriteD(00);
SendToServerEx(Name);
MoveTimer.Interval:=10000;
end;
Будет ли возвращаться в город если еще живой не знаю.
Map 1.0 Final
Форма: на ней перс по центру, показываеться куда направлена голова, и рядом лежащие айтемы и их иды. Для поисковых ивентов...
При клике по форме перс в игре бежит в эту точку (Z не меняеться).
Лог(прописываеться Drop(кинули)/Spawn(лежало)/Delete(удалили)/Move to(при клике на мапе, x/y относительные), прописываеться айди и название вещи из ItemsID.ini).
delphi Код:
const
Name='Mamy';
max=100;
size=320; //размер
ratio=20; // zoom: 100% - size/16; 200% - size/16/2// настройки отображения внизу.var
Form: TForm;
Memo: TMemo;
ItemBase: TStrings;
ItemsPlace: array[0..max,0..1] ofinteger;
ItemsID: array[0..max,0..1] ofinteger;
ItemsName: array[0..max] ofstring;
MyX,MyY,MyZ,MyH,ii: integer;
procedure Init;
var i: integer;
begin
Form:=TForm.Create(nil);
// //default postion// Form.Position:=poDesigned;// Form.Top:=0;// Form.Left:=0;
Form.Caption:='Map by raid | '+Name;
Form.BorderStyle:=bsToolWindow;
Form.ClientWidth:=size;
Form.ClientHeight:=2*size;
Form.OnMouseDown:=@FormMouseDown;
Form.Show;
Memo:=TMemo.Create(Form);
Memo.Parent:=Form;
Memo.Left:=0;
Memo.Top:=size;
Memo.Width:=size;
Memo.Height:=size;
Memo.ReadOnly:=True;
Memo.ScrollBars:=ssVertical;
Memo.Visible:=True;
ItemBase:=TStringList.Create;
ItemBase.LoadFromFile('ItemsID.ini');
Log('ItemBase='+inttostr(ItemBase.Count));
for i:=0tomaxdobegin
ItemsPlace[i,0]:=0;
ItemsPlace[i,1]:=0;
ItemsID[i,0]:=0;
ItemsID[i,1]:=0;
ItemsName[i]:='';
end;
ii:=0;
ShowMap;
end;
procedure Free;
var i:integer;
begin
Memo.Free;
ItemBase.Free;
Form.Free;
MyX:=0;
MyY:=0;
MyZ:=0;
MyH:=0;
ii:=0;
for i:=0tomaxdobegin
ItemsPlace[i,0]:=0;
ItemsPlace[i,1]:=0;
ItemsID[i,0]:=0;
ItemsID[i,1]:=0;
ItemsName[i]:='';
end;
end;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
x:=MyX+(x-size div2)*ratio;
y:=MyY+(y-size div2)*ratio;
buf:=#$01;
WriteD(x);
WriteD(y);
WriteD(MyZ);
WriteD(MyX);
WriteD(MyY);
WriteD(MyZ);
WriteD(1);
SendToServerEx(Name);
Log('Move to: x='+inttostr(x)+', y='+inttostr(y));
end;
procedure Dot(x,y:integer;text:string);
begin
Form.Canvas.Ellipse(x-1,y-1,x+2,y+2);
Form.Canvas.TextOut(x+2,y+2,text);
end;
procedure ShowMap;
var i,x,y,x1,y1,p:integer;
begin
Form.Caption:='Map by raid | '+Name+' | Items: '+inttostr(ii);
Form.Canvas.Rectangle(0,0,size,size);
p:=MyH-15;
x:=round((size div2)*(cos(p*pi/180)+1));
y:=round((size div2)*(1-sin(p*pi/180)));
p:=MyH+15;
x1:=round((size div2)*(cos(p*pi/180)+1));
y1:=round((size div2)*(1-sin(p*pi/180)));
Form.Canvas.MoveTo(size div2,size div2);
Form.Canvas.LineTo(x,y);
Form.Canvas.LineTo(x1,y1);
Form.Canvas.LineTo(size div2,size div2);
Dot(size div2,size div2,Name);
x:=MyX div ratio-size div2;
y:=MyY div ratio-size div2;
for i:=0to ii-1do
Dot(ItemsPlace[i,0]-x,ItemsPlace[i,1]-y,ItemsName[i]);
end;
procedure Log(text:string;const name:string='');
beginif name<>''then
Memo.Lines.Add(TimeToStr(Time)+': '+text+' '+name)else
Memo.Lines.Add(TimeToStr(Time)+': '+text);
end;
procedure SetMy(x,y,z,h:integer);
begin
MyH:=360-(h div190);
MyX:=x;
MyY:=y;
MyZ:=z;
ShowMap;
end;
procedure AddItem(x,y,oid,id:integer;const name:string='');
var i:integer;
beginif ii=maxthenbegin Log('Warning: max items!');exit;end;
for i:=0to ii-1doif ItemsID[i,0]=oid thenexit;
if name=''thenbegin
i:=ItemBase.IndexOfName(inttostr(id));
if i>-1then
name:=ItemBase.Strings[i]
else
name:=inttostr(id);
end;
ItemsPlace[ii,0]:=x div ratio;
ItemsPlace[ii,1]:=y div ratio;
ItemsID[ii,0]:=oid;
ItemsID[ii,1]:=id;
ItemsName[ii]:=name;
inc(ii);
case pck[1] of
#$0B: Log('Spawn',name);
#$0C: Log('Drop',name);
#$03: Log('Char',name);
#$16: Log('NPC',name);
end;
ShowMap;
end;
procedure DelItem(oid:integer);
var i,k:integer;
begin
k:=-1;
for i:=0to ii-1doif ItemsID[i,0]=oid then
k:=i;
if k>-1thenbegin
Log('Delete',ItemsName[k]);
for i:=k to ii-2dobegin
ItemsPlace[i,0]:=ItemsPlace[i+1,0];
ItemsPlace[i,1]:=ItemsPlace[i+1,1];
ItemsID[i,0]:=ItemsID[i+1,0];
ItemsID[i,1]:=ItemsID[i+1,1];
ItemsName[i]:=ItemsName[i+1];
end;
ItemsPlace[ii,0]:=0;
ItemsPlace[ii,1]:=0;
ItemsID[ii,0]:=0;
ItemsID[ii,1]:=0;
ItemsName[ii]:='';
dec(ii);
ShowMap;
end;
end;
beginif(ConnectName=Name)and FromClient thenif(pck[1]=#$48)then
SetMy(ReadD(2),ReadD(6),ReadD(10),ReadD(14));
if(ConnectName=Name)and FromClient and(pck[1]=#$46)thenbeginfor ii:=0tomaxdobegin
ItemsPlace[ii,0]:=0;
ItemsPlace[ii,1]:=0;
ItemsID[ii,0]:=0;
ItemsID[ii,1]:=0;
ItemsName[ii]:='';
end;
ii:=0;
Log('Delete all items');
end;
if(ConnectName=Name)and FromServer thencase pck[1] of//**********************************************************//Комментируем не нужные пакеты//**********************************************************//03=CharInfo
#$03: AddItem(ReadD(2),ReadD(6),ReadD(18),0,ReadS(22));
//16=NpcInfo
#$16: AddItem(ReadD(14),ReadD(18),ReadD(2),ReadD(6),ReadS(123));
//0B=SpawnItem
#$0B: AddItem(ReadD(10),ReadD(14),ReadD(2),ReadD(6));
//0C=DropItem
#$0C: AddItem(ReadD(14),ReadD(18),ReadD(6),ReadD(10));
//**********************************************************//**********************************************************
#$04: SetMy(ReadD(2),ReadD(6),ReadD(10),ReadD(14));
#$12: DelItem(ReadD(2));
end;
end.
Maybe Cooming Soon: Map 2.0 Dll Edition (Beta)
__________________ Emo-chan style.
Последний раз редактировалось raid, 08.07.2008 в 11:29.
Map 1.0 Final
Форма: на ней перс по центру, показываеться куда направлена голова, и рядом лежащие айтемы и их иды. Для поисковых ивентов...
При клике по форме перс в игре бежит в эту точку (Z не меняеться).
прикольный скрипт.. но.. опять повторюсь что коментарии- сила.. хочется сесть и прочесть твой скрипт на руссском языке.. чтоб по коментариям было понятно как он работает и где его слабые места.. я прошу каждый раз об етом авторов.. хотя конечно лучше что то чем ничего но посторайся коментить почти каждую строчку кода-) хорошо прокоментированые скрипты безоговорочно будут прикреплены к началу поста.. иначе смысла нет.. люди не поймут.. (новечки) ..
мыж тут все друг у друга чемуто да учимся.. приёмам разным.. такчто коментарии не лишнии.. лениво 500 строк кода на паскале вдумываться... коменть-)
__________________
Цитата:
Сообщение от pybukon
прежде чета попросить я немнога раскажу чтоб вы понили как мне плоха
Цитата:
Сообщение от Byrger
А как сделать мой скрипт бесконечным?
Цитата:
Сообщение от XKOR
.. каждый день ионизированной ногой протирает больную)
Цитата:
Сообщение от PsyR
Вылоджите пожалуйста скрипт на рыбалку желательно что бы сам в ВХ клал адаптированый под шоки и так же скрипт на ТТ рец, тоже с диалогами
Полезный скрипт. Хотел спросить - а можно ли как то с помощью него определять Chest и Box сундуки? И если да, то как убрать отображение всех НПЦ, мобов и Итемов и оставить только сундуки? Если реально и недолго сделать, напиши пожалуйста, буду очень благодарен.
п.с.: а в будущем планируешь встроить карту месности на заднем плане твоего радара ? ) Если да, то супер.
Тама вроде и так всё понятно) Я комментирую тока то что надо доделать) У меня ведь всё по функциям разложено, как по полочкам, функции с говорящими именами.
И обычно все комменты чужих скриптов тоже удаляю...
Цитата:
Сообщение от jestb
Полезный скрипт. Хотел спросить - а можно ли как то с помощью него определять Chest и Box сундуки? И если да, то как убрать отображение всех НПЦ, мобов и Итемов и оставить только сундуки? Если реально и недолго сделать, напиши пожалуйста, буду очень благодарен.
п.с.: а в будущем планируешь встроить карту месности на заднем плане твоего радара ? ) Если да, то супер.
внизу скрипта закоментиheq(перед строчкой поставь "//") на нежные пакеты) пока время нету...