Скриптинг  Форум посвещенный созданию скриптов для L2PacketHack  
	
	
	
	
		
		 
	
	
	
	
	 
 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#1  
	
 
	
			
            
			
			Местный
			
			
		
			
			
			
				 
				Регистрация: 05.11.2008
				
				
				
					Сообщений: 168
				
				 
	Сказал Спасибо: 35
	
		
			
				Имеет 139 спасибок в 66 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
				ItemPainter по идее QaK 
			 
			Скрипт для рисования аденой и другими предметами. 
Вобщем увидел в теме Рисую аденой:
	Цитата:
	
	
		
			
				никому не надо пока готовое, хотябы 60% рабочее, кто-нить не выложит.  
	 
	
 (Это коммент QaK так что идея его)
История версий 
Оффтоп 
	Код:
	ver 0,1
-Графический интерфейс
-Возможность выбора предмета для каждого из 5 цветов
-Загрузка картинки с помощью диалога
-Масштаб от 1:1 до 10:1
ver 0,2
-Выбор направления (теперь не рисует только на север)
-Мелкие исправления и доработки 
  
	delphi Код:
	Program  ItemPainter;
//------------------------------------------------------------------ 
//Скрипт для рисования предметами пока только для с4 и интерлюдии 
//В Name ввдите ник 
//Нарисуйте картинку в любом графическом редакторе. 
//В поле "Путь к фалу" введите путь к этому файлу и нажмите Load 
//Черный,красный,зеленый,голубой,желтый цвета пикселей можно привязать к отдельному предмету 
//Выберите цвет в боксе color, затем предмет в боксе Item (предметов должно быть>1 чтобы они появились в списке) 
//scale - масштаб отступа между предметами от 1:1 до 10:1 
//Самый оптимальный масштаб 5:1 
//Направление - согласно компасу в игре 
const 
Name='Perforator' ;
interlude=true ;
max =80 ;
MaxDistance=240 ; //Максимальное расстояние на которое можно выбросить предмет 
var 
bmp:TBitMap; //Картинка 
ItemBase:  array[1 ..3 ,1 ..max ] of  integer ; //Массив предметов заполняется процедурой CreateItemBase 
SelectedItems: array[1 ..3 ,1 ..5 ] of  integer ; //Массив Object ID предметов [i,j] i=1 - OID,2-ID,3 - Count; j - # цвета 
currentx,currenty,StartX,StartY,StartZ,MyX,MyY,MyZ,NextX,NextY,ItemOID:integer ;
//Теущие координаты x и y;координаты начала отчета x,y,z; Мои координаты x y обнавляются при Validate Position 
ready:boolean ;
timer : TTimer;
FormMain:TForm;
Stats : TMemo;
Panel1 : TPanel;
GroupBox1,GroupBox2 : TGroupBox;
ComboBoxColor,ComboBoxScale,ComboboxItem,ComboBoxDirection:TComboBox;
Label1,Label2,Label3,Label4:TLabel;
Path:TEdit;
LoadedImage:TImage;
LoadButton,StartButton,StopButton:TButton;
ItemsName,StringList:TStringList ;
//...................................... 
//...................................... 
//...................................... 
//ComboBoxItem 
procedure  ComboBoxItem_Click( Sender: TComboBox) ;
var  i,count,index:integer ;
begin 
count:=0 ;
if  SelectedItems[2 ,ComboBoxColor.ItemIndex +1 ]=ItemBase[2 ,ComboBoxItem.ItemIndex +1 ] then  exit ;
for  i:=1  to  5  do  if  SelectedItems[2 ,i]=ItemBase[2 ,ComboBoxItem.ItemIndex +1 ] then  inc ( count) ;
if  Count>0  then  begin 
stats.lines .add ( 'Ошибка! Нельзя добавлять одинаковые предметы в разные цвета.' ) ;
exit ;
end ;
SelectedItems[1 ,ComboBoxColor.ItemIndex +1 ]:=ItemBase[1 ,ComboBoxItem.ItemIndex +1 ];
SelectedItems[2 ,ComboBoxColor.ItemIndex +1 ]:=ItemBase[2 ,ComboBoxItem.ItemIndex +1 ];
SelectedItems[3 ,ComboBoxColor.ItemIndex +1 ]:=ItemBase[3 ,ComboBoxItem.ItemIndex +1 ];
index:=ComboBoxItem.ItemIndex ;
for  i:=0  to  StringList.Count -1  do  if  Pos ( ' - ' +ComboBoxColor.Items .Strings [ComboBoxColor.ItemIndex ],ComboBoxItem.Items .Strings [i]) >0  then 
ComboBoxItem.Items .Strings [i]:=StringList.Strings [i];
ComboBoxItem.Items .Strings [index]:=ComboBoxItem.Items .Strings [ComboBoxItem.ItemIndex ]+' - ' +ComboBoxColor.Items .Strings [ComboBoxColor.ItemIndex ];
ComboBoxItem.ItemIndex :=index;
end ;
//---------------------------------------- 
procedure  StartButton_Click( Sender: TButton) ;
//Event : OnClick 
begin 
if  bmp=NIL  then  stats.lines .add ( 'Картинка не загружена!' )  else 
begin 
stats.lines .add ( 'Старт!' ) ;
StartButton.enabled :=false ;
currentx:=-1 ;
currenty:=0 ;
buf:=#$AA;
WriteD( 0 ) ;
SendToServerEx( Name) ;
end ;
end ;
//...................................... 
//ButtonStopEnchant 
procedure  StopButton_Click( Sender: TButton) ;
//Event : OnClick 
begin 
StartButton.enabled :=true ;
stats.lines .add ( 'Стоп!' ) ;
timer.enabled :=false ;
ready:=false ;
end ;
procedure  bmpload;
begin 
  bmpfree;
  bmp:=TBitMap.Create ;
  try 
  bmp.LoadFromFile ( path.text ) ;
  except 
  bmp.Free ;
  stats.lines .add ( 'Ошибка загрузки файла!' ) ;
  exit ;
  end ;
  stats.lines .add ( 'Картинка успешно загружена!' ) ;
  LoadedImage.Picture .assign ( bmp) ;
end ;
procedure  LoadButton_Click( Sender: TButton) ;
var  openDialog : TOpenDialog ;
begin 
  openDialog := TOpenDialog .Create ( NIL ) ;
  openDialog.Filter  := 'Bitmap files|*.bmp' ;
  openDialog.FilterIndex  := 1 ;
  openDialog.DefaultExt :='bmp' ;
  openDialog.Options :=ofNoChangeDir+ofFileMustExist+ofPathMustExist;
  if  openDialog.Execute  then  path.text :=openDialog.FileName  else  begin 
  openDialog.Free ;
  exit ;
  end ;
  openDialog.Free ;
  bmpload;
end ;
procedure  Path_key( Sender: TEdit; Key: Char ) ;
begin 
if  ord ( key) =13  then  begin 
bmpload;
end ;
end ;
procedure  Free_FormMain;
//Освобождаем ресурсы ... 
begin 
  TRY 
    if  FormMain<>NIL then  begin 
       FormMain.Free ;
       FormMain:=NIL ;
    end ;
  FINALLY 
  END ;
end ;
function  Create_FormMain : TForm;
//Создаем форму и соотв. компоненты на ней ... 
Var 
  Yes : boolean ;
begin 
  Yes := FALSE ;
  Result := TForm.Create ( nil ) ;
  TRY 
    //------------------------ 
    //Свойства формы 
    Result.Caption      := 'Item Painter v 0.2 by ArchDevil' ;
    Result.Left         := 397 ;
    Result.Top          := 233 ;
    Result.Width        := 350 ;
    Result.Height       := 230 ;
    Result.FormStyle    := fsNormal;
    Result.Position     := poDesigned;
    Result.BorderStyle  := bsSizeable;
    Result.BorderWidth  := 0 ;
    Result.WindowState  := wsNormal;
    Result.Color        := clBtnFace;
    Result.Font .Name    := 'Tahoma' ;
    Result.Font .Size    := 8 ;
    Result.Font .Color   := clWindowText;
    Result.Font .CharSet := 1 ;
    //...................................... 
    //...................................... 
    //Stats 
    Stats := TMemo.Create ( Result) ;
    Stats.Parent  := Result;
    Stats.Left     := 0 ;
    Stats.Top      := 160 ;
    Stats.Width    := 350 ;
    Stats.Height   := 70 ;
    Stats.Visible  := TRUE ;
    Stats.Tag      := 0 ;
    Stats.Enabled   := TRUE ;
    Stats.Hint      := '' ;
    Stats.ShowHint  := FALSE ;
    Stats.Font .Name   := 'Tahoma' ;
    Stats.Font .Size   := 8 ;
    Stats.Font .Color  := clWindowText;
    Stats.Color          := clWindow;
    Stats.TabOrder       := 0 ;
    Stats.TabStop        := TRUE ;
    Stats.Align          := alBottom;
    Stats.WordWrap       := TRUE ;
    Stats.Alignment      := taLeftJustify;
    Stats.WantTabs       := FALSE ;
    Stats.WantReturns    := TRUE ;
    Stats.HideSelection  := TRUE ;
    Stats.MaxLength      := 0 ;
    Stats.OEMConvert     := FALSE ;
    Stats.ReadOnly       := FALSE ;
    Stats.ScrollBars     := ssNone;
    //...................................... 
    //...................................... 
    //Panel1 
    Panel1 := TPanel.Create ( Result) ;
    Panel1.Parent  := Result;
    Panel1.Left     := 0 ;
    Panel1.Top      := 0 ;
    Panel1.Width    := 350 ;
    Panel1.Height   := 160 ;
    Panel1.Visible  := TRUE ;
    Panel1.Tag      := 0 ;
    Panel1.Enabled   := TRUE ;
    Panel1.Hint      := '' ;
    Panel1.ShowHint  := FALSE ;
    Panel1.Caption     := '' ;
    Panel1.Align       := alClient;
    Panel1.Color       := clBtnFace;
    Panel1.Font .Name   := 'Tahoma' ;
    Panel1.Font .Size   := 8 ;
    Panel1.Font .Color  := clWindowText;
    Panel1.Font .CharSet  := 1 ;
    Panel1.BevelWidth    := 1 ;
    Panel1.BorderWidth   := 0 ;
    Panel1.BevelInner    := bvNone;
    Panel1.BevelOuter    := bvRaised;
    Panel1.TabOrder      := 2 ;
    Panel1.TabStop       := FALSE ;
    Panel1.AutoSize      := FALSE ;
    //...................................... 
    //...................................... 
    //GroupBox1 
    GroupBox1 := TGroupBox.Create ( Result) ;
    GroupBox1.Parent  := Panel1;
    GroupBox1.Left     := 1 ;
    GroupBox1.Top      := 1 ;
    GroupBox1.Width    := 160 ;
    GroupBox1.Height   := 160 ;
    GroupBox1.Visible  := TRUE ;
    GroupBox1.Tag      := 0 ;
    GroupBox1.Enabled   := TRUE ;
    GroupBox1.Hint      := '' ;
    GroupBox1.ShowHint  := FALSE ;
    GroupBox1.Caption     := 'Рисунок' ;
    GroupBox1.Align       := alLeft;
    GroupBox1.Color       := clBtnFace;
    GroupBox1.Font .Name   := 'Tahoma' ;
    GroupBox1.Font .Size   := 8 ;
    GroupBox1.Font .Color  := clWindowText;
    GroupBox1.Font .CharSet  := 1 ;
    GroupBox1.TabOrder      := 0 ;
    GroupBox1.TabStop       := FALSE ;
        //...................................... 
    //...................................... 
    //GroupBox2 
    GroupBox2 := TGroupBox.Create ( Result) ;
    GroupBox2.Parent  := Panel1;
    GroupBox2.Left     := 1 ;
    GroupBox2.Top      := 1 ;
    GroupBox2.Width    := 180 ;
    GroupBox2.Height   := 160 ;
    GroupBox2.Visible  := TRUE ;
    GroupBox2.Tag      := 0 ;
    GroupBox2.Enabled   := TRUE ;
    GroupBox2.Hint      := '' ;
    GroupBox2.ShowHint  := FALSE ;
    GroupBox2.Caption     := 'Настройки' ;
    GroupBox2.Align       := alLeft;
    GroupBox2.Color       := clBtnFace;
    GroupBox2.Font .Name   := 'Tahoma' ;
    GroupBox2.Font .Size   := 8 ;
    GroupBox2.Font .Color  := clWindowText;
    GroupBox2.Font .CharSet  := 1 ;
    GroupBox2.TabOrder      := 0 ;
    GroupBox2.TabStop       := FALSE ;
    //...................................... 
    //...................................... 
    //ComboBoxColor 
    ComboBoxColor := TComboBox.Create ( Result) ;
    ComboBoxColor.Parent  := GroupBox2;
    ComboBoxColor.Left     := 38 ;
    ComboBoxColor.Top      := 19 ;
    ComboBoxColor.Width    := 70 ;
    ComboBoxColor.Height   := 21 ;
    ComboBoxColor.Visible  := TRUE ;
    ComboBoxColor.Tag      := 0 ;
    ComboBoxColor.Enabled   := TRUE ;
    ComboBoxColor.Hint      := 'Выбери из списка цвет соответствующий предмету ниже' ;
    ComboBoxColor.ShowHint  := TRUE ;
    ComboBoxColor.Text        := 'ComboBoxColor' ;
    ComboBoxColor.Font .Name   := 'Tahoma' ;
    ComboBoxColor.Font .Size   := 8 ;
    ComboBoxColor.Font .Color  := clWindowText;
    ComboBoxColor.Color           := clWindow;
    ComboBoxColor.TabOrder        := 1 ;
    ComboBoxColor.TabStop         := TRUE ;
    ComboBoxColor.Sorted          := FALSE ;
    ComboBoxColor.ItemHeight      := 13 ;
    ComboBoxColor.Items .ADD ( 'Черный' ) ;
    ComboBoxColor.Items .ADD ( 'Красный' ) ;
    ComboBoxColor.Items .ADD ( 'Зеленый' ) ;
    ComboBoxColor.Items .ADD ( 'Синий' ) ;
    ComboBoxColor.Items .ADD ( 'Желтый' ) ;
    ComboBoxColor.ItemIndex  := 0 ;
    //...................................... 
    //...................................... 
    //ComboBoxScale 
    ComboBoxScale := TComboBox.Create ( Result) ;
    ComboBoxScale.Parent  := GroupBox2;
    ComboBoxScale.Left     := 128 ;
    ComboBoxScale.Top      := 19 ;
    ComboBoxScale.Width    := 45 ;
    ComboBoxScale.Height   := 21 ;
    ComboBoxScale.Visible  := TRUE ;
    ComboBoxScale.Tag      := 0 ;
    ComboBoxScale.Enabled   := TRUE ;
    ComboBoxScale.Hint      := 'Выбери из списка масштаб' ;
    ComboBoxScale.ShowHint  := TRUE ;
    ComboBoxScale.Text        := 'ComboBoxScale' ;
    ComboBoxScale.Font .Name   := 'Tahoma' ;
    ComboBoxScale.Font .Size   := 8 ;
    ComboBoxScale.Font .Color  := clWindowText;
    ComboBoxScale.Color           := clWindow;
    ComboBoxScale.TabOrder        := 1 ;
    ComboBoxScale.TabStop         := TRUE ;
    ComboBoxScale.Sorted          := FALSE ;
    ComboBoxScale.ItemHeight      := 13 ;
    ComboBoxScale.Items .ADD ( '1:1' ) ;
    ComboBoxScale.Items .ADD ( '2:1' ) ;
    ComboBoxScale.Items .ADD ( '3:1' ) ;
    ComboBoxScale.Items .ADD ( '4:1' ) ;
    ComboBoxScale.Items .ADD ( '5:1' ) ;
    ComboBoxScale.Items .ADD ( '6:1' ) ;
    ComboBoxScale.Items .ADD ( '7:1' ) ;
    ComboBoxScale.Items .ADD ( '8:1' ) ;
    ComboBoxScale.Items .ADD ( '9:1' ) ;
    ComboBoxScale.Items .ADD ( '10:1' ) ;
    ComboBoxScale.ItemIndex  := 4 ;
    //...................................... 
    //...................................... 
    //ComboBoxDirection 
    ComboBoxDirection := TComboBox.Create ( Result) ;
    ComboBoxDirection.Parent  := GroupBox2;
    ComboBoxDirection.Left     := 38 ;
    ComboBoxDirection.Top      := 67 ;
    ComboBoxDirection.Width    := 135 ;
    ComboBoxDirection.Height   := 21 ;
    ComboBoxDirection.Visible  := TRUE ;
    ComboBoxDirection.Tag      := 0 ;
    ComboBoxDirection.Enabled   := TRUE ;
    ComboBoxDirection.Text        := 'ComboBoxDirection' ;
    ComboBoxDirection.Font .Name   := 'Tahoma' ;
    ComboBoxDirection.Font .Size   := 8 ;
    ComboBoxDirection.Font .Color  := clWindowText;
    ComboBoxDirection.Color           := clWindow;
    ComboBoxDirection.TabOrder        := 1 ;
    ComboBoxDirection.TabStop         := TRUE ;
    ComboBoxDirection.Sorted          := FALSE ;
    ComboBoxDirection.ItemHeight      := 13 ;
    ComboBoxDirection.Items .ADD ( 'Север' ) ;
    ComboBoxDirection.Items .ADD ( 'Северо-Восток' ) ;
    ComboBoxDirection.Items .ADD ( 'Восток' ) ;
    ComboBoxDirection.Items .ADD ( 'Юго-Восток' ) ;
    ComboBoxDirection.Items .ADD ( 'Юг' ) ;
    ComboBoxDirection.Items .ADD ( 'Юго-Запад' ) ;
    ComboBoxDirection.Items .ADD ( 'Запад' ) ;
    ComboBoxDirection.Items .ADD ( 'Северо-Запад' ) ;
    ComboBoxDirection.ItemIndex           := 0 ;
    //...................................... 
    //...................................... 
    //ComboBoxItem 
    ComboBoxItem := TComboBox.Create ( Result) ;
    ComboBoxItem.Parent  := GroupBox2;
    ComboBoxItem.Left     := 38 ;
    ComboBoxItem.Top      := 43 ;
    ComboBoxItem.Width    := 135 ;
    ComboBoxItem.Height   := 21 ;
    ComboBoxItem.Visible  := TRUE ;
    ComboBoxItem.Tag      := 0 ;
    ComboBoxItem.Enabled   := TRUE ;
    ComboBoxItem.Hint      := 'Выбери из списка затачиваемый предмет' ;
    ComboBoxItem.ShowHint  := TRUE ;
    ComboBoxItem.Text        := 'ComboBoxItem' ;
    ComboBoxItem.Font .Name   := 'Tahoma' ;
    ComboBoxItem.Font .Size   := 8 ;
    ComboBoxItem.Font .Color  := clWindowText;
    ComboBoxItem.Color           := clWindow;
    ComboBoxItem.TabOrder        := 1 ;
    ComboBoxItem.TabStop         := TRUE ;
    ComboBoxItem.ItemIndex           := -1 ;
    ComboBoxItem.Sorted          := FALSE ;
    ComboBoxItem.ItemHeight      := 13 ;
    ComboBoxItem.OnClick      := @ComboBoxItem_Click;
    //...................................... 
    //...................................... 
    //Label1 
    Label1 := TLabel.Create ( Result) ;
    Label1.Parent  := GroupBox2;
    Label1.Left     := 6 ;
    Label1.Top      := 23 ;
    Label1.Width    := 58 ;
    Label1.Height   := 13 ;
    Label1.Visible  := TRUE ;
    Label1.Tag      := 0 ;
    Label1.Enabled   := TRUE ;
    Label1.Hint      := '' ;
    Label1.ShowHint  := FALSE ;
    Label1.Caption      := 'Цвет:' ;
    Label1.Transparent  := TRUE ;
    Label1.WordWrap     := FALSE ;
    Label1.Alignment    := taLeftJustify;
    Label1.Layout       := tlTop;
    Label1.AutoSize     := TRUE ;
    Label1.Align        := alNone;
    Label1.Font .Name    := 'Tahoma' ;
    Label1.Font .Size    := 8 ;
    Label1.Font .Color   := clWindowText;
    Label1.Color        := clBtnFace;
    //...................................... 
    //...................................... 
    //Label2 
    Label2 := TLabel.Create ( Result) ;
    Label2.Parent  := GroupBox2;
    Label2.Left     := 6 ;
    Label2.Top      := 47 ;
    Label2.Width    := 58 ;
    Label2.Height   := 13 ;
    Label2.Visible  := TRUE ;
    Label2.Tag      := 0 ;
    Label2.Enabled   := TRUE ;
    Label2.Hint      := '' ;
    Label2.ShowHint  := FALSE ;
    Label2.Caption      := 'Итем:' ;
    Label2.Transparent  := TRUE ;
    Label2.WordWrap     := FALSE ;
    Label2.Alignment    := taLeftJustify;
    Label2.Layout       := tlTop;
    Label2.AutoSize     := TRUE ;
    Label2.Align        := alNone;
    Label2.Font .Name    := 'Tahoma' ;
    Label2.Font .Size    := 8 ;
    Label2.Font .Color   := clWindowText;
    Label2.Color        := clBtnFace;
    //...................................... 
    //...................................... 
    //Label3 
    Label3 := TLabel.Create ( Result) ;
    Label3.Parent  := GroupBox2;
    Label3.Left     := 114 ;
    Label3.Top      := 23 ;
    Label3.Width    := 58 ;
    Label3.Height   := 13 ;
    Label3.Visible  := TRUE ;
    Label3.Tag      := 0 ;
    Label3.Enabled   := TRUE ;
    Label3.Hint      := '' ;
    Label3.ShowHint  := FALSE ;
    Label3.Caption      := 'М:' ;
    Label3.Transparent  := TRUE ;
    Label3.WordWrap     := FALSE ;
    Label3.Alignment    := taLeftJustify;
    Label3.Layout       := tlTop;
    Label3.AutoSize     := TRUE ;
    Label3.Align        := alNone;
    Label3.Font .Name    := 'Tahoma' ;
    Label3.Font .Size    := 8 ;
    Label3.Font .Color   := clWindowText;
    Label3.Color        := clBtnFace;
    //...................................... 
    //...................................... 
    //Label4 
    Label4 := TLabel.Create ( Result) ;
    Label4.Parent  := GroupBox2;
    Label4.Left     := 6 ;
    Label4.Top      := 71 ;
    Label4.Width    := 58 ;
    Label4.Height   := 13 ;
    Label4.Visible  := TRUE ;
    Label4.Tag      := 0 ;
    Label4.Enabled   := TRUE ;
    Label4.Hint      := '' ;
    Label4.ShowHint  := FALSE ;
    Label4.Caption      := 'Напр.:' ;
    Label4.Transparent  := TRUE ;
    Label4.WordWrap     := FALSE ;
    Label4.Alignment    := taLeftJustify;
    Label4.Layout       := tlTop;
    Label4.AutoSize     := TRUE ;
    Label4.Align        := alNone;
    Label4.Font .Name    := 'Tahoma' ;
    Label4.Font .Size    := 8 ;
    Label4.Font .Color   := clWindowText;
    Label4.Color        := clBtnFace;
    //...................................... 
    //...................................... 
    //Path 
    Path := TEdit.Create ( Result) ;
    Path.Parent  := GroupBox1;
    Path.Left     := 5 ;
    Path.Top      := 103 ;
    Path.Width    := 117 ;
    Path.Height   := 20 ;
    Path.Visible  := TRUE ;
    Path.Tag      := 0 ;
    Path.Enabled   := TRUE ;
    Path.Hint      := 'Введи путь к файлу BMP' ;
    Path.ShowHint  := TRUE ;
    Path.Text        := '' ;
    Path.Font .Name   := 'Tahoma' ;
    Path.Font .Size   := 7 ;
    Path.Font .Color  := clWindowText;
    Path.Color         := clWindow;
    Path.TabOrder      := 5 ;
    Path.TabStop       := TRUE ;
    Path.ReadOnly      := FALSE ;
    Path.MaxLength     := 0 ;
    Path.AutoSize      := TRUE ;
    Path.OnKeyPress    := @Path_Key;
    //...................................... 
    //...................................... 
    //LoadImage 
    LoadedImage:= TImage.Create ( Result) ;
    LoadedImage.Parent :=GroupBox1;
    LoadedImage.Left  :=5 ;
    LoadedImage.Top  := 16 ;
    LoadedImage.Width  := 150 ;
    LoadedImage.Height  := 90 ;
    LoadedImage.Visible  := TRUE ;
    LoadedImage.Tag  := 0 ;
    LoadedImage.Enabled  := TRUE ;
    LoadedImage.Hint  := '' ;
    LoadedImage.ShowHint  := FALSE ;
    LoadedImage.Center  := TRUE ;
    LoadedImage.Proportional  := TRUE ;
    //...................................... 
    //...................................... 
    //LoadButton 
    LoadButton := TButton.Create ( Result) ;
    LoadButton.Parent  := GroupBox1;
    LoadButton.Left     := 124 ;
    LoadButton.Top      := 102 ;
    LoadButton.Width    := 32 ;
    LoadButton.Height   := 21 ;
    LoadButton.Visible  := TRUE ;
    LoadButton.Tag      := 0 ;
    LoadButton.Enabled   := TRUE ;
    LoadButton.Hint      := '' ;
    LoadButton.ShowHint  := FALSE ;
    LoadButton.Caption     := '...' ;
    LoadButton.Font .Name   := 'Tahoma' ;
    LoadButton.Font .Size   := 8 ;
    LoadButton.Font .Color  := clWindowText;
    LoadButton.Font .CharSet  := 1 ;
    LoadButton.TabOrder      := 2 ;
    LoadButton.TabStop       := TRUE ;
    LoadButton.Cancel        := FALSE ;
    LoadButton.ModalResult   := 0 ;
    LoadButton.OnClick      := @LoadButton_Click;
    //...................................... 
    //...................................... 
    //StartButton 
    StartButton := TButton.Create ( Result) ;
    StartButton.Parent  := GroupBox2;
    StartButton.Left     := 6 ;
    StartButton.Top      := 102 ;
    StartButton.Width    := 80 ;
    StartButton.Height   := 21 ;
    StartButton.Visible  := TRUE ;
    StartButton.Tag      := 0 ;
    StartButton.Enabled   := TRUE ;
    StartButton.Hint      := '' ;
    StartButton.ShowHint  := FALSE ;
    StartButton.Caption     := 'Старт' ;
    StartButton.Font .Name   := 'Tahoma' ;
    StartButton.Font .Size   := 8 ;
    StartButton.Font .Color  := clWindowText;
    StartButton.Font .CharSet  := 1 ;
    StartButton.TabOrder      := 2 ;
    StartButton.TabStop       := TRUE ;
    StartButton.Cancel        := FALSE ;
    StartButton.ModalResult   := 0 ;
    StartButton.OnClick      := @StartButton_Click;
    //...................................... 
    //...................................... 
    //StopButton 
    StopButton := TButton.Create ( Result) ;
    StopButton.Parent  := GroupBox2;
    StopButton.Left     := 96 ;
    StopButton.Top      := 102 ;
    StopButton.Width    := 80 ;
    StopButton.Height   := 21 ;
    StopButton.Visible  := TRUE ;
    StopButton.Tag      := 0 ;
    StopButton.Enabled   := TRUE ;
    StopButton.Hint      := '' ;
    StopButton.ShowHint  := FALSE ;
    StopButton.Caption     := 'Стоп' ;
    StopButton.Font .Name   := 'Tahoma' ;
    StopButton.Font .Size   := 8 ;
    StopButton.Font .Color  := clWindowText;
    StopButton.Font .CharSet  := 1 ;
    StopButton.TabOrder      := 3 ;
    StopButton.TabStop       := TRUE ;
    StopButton.Cancel        := FALSE ;
    StopButton.ModalResult   := 0 ;
    StopButton.OnClick      := @StopButton_Click;
    //...................................... 
    Yes := TRUE ;
  FINALLY 
    if  not  Yes then  begin 
       //Освобождаем ресурсы, если неудачно ... 
       if  Result<>NIL then  begin 
          Result.Free ;
          Result:=NIL ;
       end ;
    end ;
  END ;
  Result.Show ;
end ;
procedure  Init; //Вызывается при включении скрипта 
begin 
  FormMain:=Create_FormMain;
  stats.Lines .Add ( 'Скрипт: Рисование предметами by ArchDevil!' ) ;
  timer:=TTimer.Create ( nil ) ;
  timer.OnTimer :=@OnTimer;
  timer.enabled :=false ;
  timer.interval :=700 ; //время задержки 
  ready:=false ;
  StringList:=TStringList .Create ;
  ItemsName:=TStringList .Create ;
  try 
    ItemsName.LoadFromFile ( 'itemsid.ini' ) ;
  except 
    stats.Lines .Add ( 'itemsid.ini не найден!' ) ;
    exit ;
  end ;
  buf:=hstr( '0F' ) ;
  SendToServerEx( Name) ;
end ;
procedure  bmpfree;
begin 
  try 
   if  bmp<>NIL then 
   begin 
   bmp.Free ;
   bmp:=NIL ;
   end ;
  finally 
  end ;
end ;
procedure  Free;
var  i:integer ;
begin 
Free_FormMain; bmpfree;
StringList.Clear ; ItemsName.Clear ;
timer.Free ;
if  LoadedImage<>NIL then  LoadedImage:=NIL ;
currentx:=0 ; currenty:=0 ; StartX:=0 ; StartY:=0 ;
StartZ:=0 ; MyX:=0 ; MyY:=0 ; ItemOID:=0 ;
ready:=false ;
for  i:=1  to  5  do  begin 
SelectedItems[1 ,i]:=0 ;
SelectedItems[2 ,i]:=0 ;
SelectedItems[3 ,i]:=0 ;
end ;
end ;
//CreateItemBase и InventoryUpdate Взял со скрипта NLObP на заточку 
//--------------------------------------------- 
procedure  CreateItemBase;
var 
  i, j, ListCount : integer ;
begin 
  for  i:=1  to  max  do  begin 
    //очищаем масив 
    ItemBase[1 ,i]:=0 ;     //OID 
    ItemBase[2 ,i]:=0 ;    //ID 
    ItemBase[3 ,i]:=0 ;   //kol-vo 
  end ;
  j:=4 ;
  ListCount:=ReadH( j) ;
  j:=8 ;
  for  i:=1  to  ListCount do  begin 
    ItemBase[1 ,i]:=ReadD( j) ;
    ItemBase[2 ,i]:=ReadD( j) ;
    ItemBase[3 ,i]:=ReadD( j) ;
    if  interlude then  inc ( j,24 )  else  inc ( j,16 ) ;
  end ;
  StringList.Clear ;
  try 
    for  i:=1  to  ListCount do  begin 
      try 
        StringList.Add ( ItemsName.Values [IntToStr( ItemBase[2 ,i]) ]) ; //записываем название вещей из инвентаря 
      except ;
      end 
    end ;
  except ;
    exit ;
  end ;
    with  ComboBoxItem do 
    begin 
      Items.Clear ;
      Items.Assign ( StringList) ;
      ItemIndex:=0 ;
    end ;
end ;
//...................................... 
//****************************************************************************** 
procedure  InventoryUpdate; //пакет 27, обновляет базу ObjectID по ItemID 
var 
  i, ii, j, OID, ID, Count, ListCount, UpdType: integer ;
  add : boolean ;
begin 
  add:=false ;
  ListCount:=ReadH( 2 ) ;
  j:=4 ;
  for  ii:=1  to  ListCount do  begin 
    add:=false ;
    UpdType:=ReadH( j) ;
    ReadH( j) ;               //ItemType1 
    OID:=ReadD( j) ;     //ObjectID 
    ID:=ReadD( j) ;     //ItemID 
    Count:=ReadD( j) ; //кол-во 
    case  UpdType of 
      1 : begin 
         for  i:=1  to  max  do  begin 
           if  ( ItemBase[1 ,i]=0 )  and  ( add=false )  then  begin 
             ItemBase[1 ,i]:=OID;
             ItemBase[2 ,i]:=ID;
             ItemBase[3 ,i]:=Count;
             add:=true ;
           end ;
         end ;
      end ;
      2 : begin 
         for  i:=1  to  max  do  begin 
           if  ItemBase[1 ,i]=OID then  begin 
             ItemBase[3 ,i]:=Count;
           end ;
         end ;
      end ;
      3 : begin 
         for  i:=1  to  max  do  begin 
           if  ItemBase[1 ,i]=OID then  begin 
             ItemBase[1 ,i]:=0 ;
             ItemBase[2 ,i]:=0 ;
             ItemBase[3 ,i]:=0 ;
           end ;
         end ;
      end ;
    end ;
    if  interlude then  inc ( j,22 )  else  inc ( j,14 ) ;
  end ;
end ;
//------------------------------------ 
function  GetCount( OID:integer )  : integer ;
var 
  i : integer ;
begin 
  for  i:=1  to  max  do  begin 
    if  ItemBase[1 ,i]=OID then  begin 
      result:=ItemBase[3 ,i]; // count 
      exit ;
    end ;
  end ;
  result:=0 ;
end ;
//-------------------------------------------- 
function  delta( x1, y1, x2, y2:extended ) :integer ; //возвращает растоянием между 2 точками 
var 
  dx,dy,summa: extended ;
begin 
  dx:=x2-x1;
  dy:=y2-y1;
  summa:=dx*dx+dy*dy;
  if  summa=0  then  result:=0  else  result:=Round ( sqrt ( summa) ) ;
end ;
//-------------------------------------------- 
procedure  OnTimer( Sender: TObject ) ;
//==================== 
procedure  GetNextCoords;
begin 
case  ComboBoxDirection.ItemIndex  of 
0 : begin 
     NextX:=StartX+currentx*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY+currenty*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
1 : begin 
     NextX:=StartX+currentx*( ComboBoxScale.ItemIndex +1 ) -currenty*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY+currenty*( ComboBoxScale.ItemIndex +1 ) +currentx*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
2 : begin 
     NextX:=StartX-currenty*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY+currentx*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
3 : begin 
     NextX:=StartX-currentx*( ComboBoxScale.ItemIndex +1 ) -currenty*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY-currenty*( ComboBoxScale.ItemIndex +1 ) +currentx*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
4 : begin 
     NextX:=StartX-currentx*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY-currenty*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
5 : begin 
     NextX:=StartX-currentx*( ComboBoxScale.ItemIndex +1 ) +currenty*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY-currenty*( ComboBoxScale.ItemIndex +1 ) -currentx*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
6 : begin 
     NextX:=StartX+currenty*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY-currentx*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
7 : begin 
     NextX:=StartX+currentx*( ComboBoxScale.ItemIndex +1 ) +currenty*( ComboBoxScale.ItemIndex +1 ) ;
     NextY:=StartY+currenty*( ComboBoxScale.ItemIndex +1 ) -currentx*( ComboBoxScale.ItemIndex +1 ) ;
   end ;
 end ;
end ;
//==================== 
begin 
ItemOID:=0 ;
repeat 
if  currentx=bmp.width -1  then 
begin 
inc ( currenty) ;
currentx:=0 ;
end  else  inc ( currentx) ;
if  currenty=bmp.height  then 
begin 
timer.enabled :=false ;
stats.lines .add ( 'Остановлено! Рисунок нарисован!' ) ;
StartButton.enabled :=true ;
exit ;
end ;
case  bmp.Canvas .pixels [currentx,currenty] of  //матрица пикселей 
clBlack: if  ( SelectedItems[1 ,1 ]>0 )  and  ( GetCount( SelectedItems[1 ,1 ]) >0 )  then  ItemOID:=SelectedItems[1 ,1 ];
clRed:   if  ( SelectedItems[1 ,2 ]>0 )  and  ( GetCount( SelectedItems[1 ,2 ]) >0 )  then  ItemOID:=SelectedItems[1 ,2 ];
clGreen: if  ( SelectedItems[1 ,3 ]>0 )  and  ( GetCount( SelectedItems[1 ,3 ]) >0 )  then  ItemOID:=SelectedItems[1 ,3 ];
clBlue:  if  ( SelectedItems[1 ,4 ]>0 )  and  ( GetCount( SelectedItems[1 ,4 ]) >0 )  then  ItemOID:=SelectedItems[1 ,4 ];
clYellow:if  ( SelectedItems[1 ,5 ]>0 )  and  ( GetCount( SelectedItems[1 ,5 ]) >0 )  then  ItemOID:=SelectedItems[1 ,5 ];
end ;
until  ItemOID<>0 ;
if  ItemOID=0  then  exit ;
stats.lines .add ( 'Текущий элемент матрицы: x=' +inttostr ( currentx) +', y=' +inttostr ( currenty) +'.' ) ;
GetNextCoords;
if  delta( MyX,MyY,NextX,NextY) >MaxDistance then  begin   //расстояние между точками 
buf:=#$01 ;
WriteD( NextX) ;
writeD( NextY) ;
WriteD( MyZ) ;
WriteD( MyX) ;
WriteD( MyY) ;
WriteD( MyZ) ;
WriteD( 1 ) ;
SendToServerEx( Name) ;
timer.enabled :=false ; //Отключаем на время передвижения 
ready:=true ;
exit ;
end ;
buf:=#$12 ;
WriteD( ItemOID) ;
WriteD( 1 ) ;
WriteD( NextX) ;
WriteD( NextY) ;
WriteD( MyZ) ;
SendToServerEx( Name) ;
end ;
//-------------------------------------------- 
begin 
if  FromClient and  ( ConnectName=Name)  then 
case  pck[1 ] of 
     #$48 : begin 
             MyX:=ReadD( 2 ) ; // постоянно считываем координаты чара 
             MyY:=ReadD( 6 ) ;
             if  ready and  ( delta( Myx,Myy,NextX,NextY) <MaxDistance/2 )  then  begin  //Меньше 100 можно включать таймер 
             buf:=#$12 ; //Выкидываем предмет который не выкинули когда дельта привышала 240 
             WriteD( ItemOID) ;
             WriteD( 1 ) ;
             WriteD( NextX) ;
             WriteD( NextY) ;
             WriteD( MyZ) ;
             SendToServerEx( Name) ;
             ready:=false ;
             timer.enabled :=true ;
             end ;
           end ;
end ;
if  FromServer and  ( ConnectName=Name)  then 
case  pck[1 ] of 
    #$1B: CreateItemBase; //создание базы предметов 
     //...................................... 
    #$27 : InventoryUpdate; //Обновление базы 
    #$64 : if  ( StartButton.enabled =false )  and  ( timer.enabled =false )  and  ( ReadD( 6 ) =3 )  then 
          begin 
            StartX:=ReadD( 14 ) ; //Считываются только 1 раз 
            StartY:=ReadD( 22 ) ;
            StartZ:=ReadD( 30 ) ;
            MyX:=StartX;
            MyY:=StartY;
            MyZ:=StartZ;
            timer.enabled :=true ;//Вот теперь включаем таймер 
          end ;
end ;
end .
 Все работает как часы, единственное что он стопориться если ему мешает препятствие или большая разница в координатах Z так что рисовать лучше на более-менее ровной поверхности.
Скрипт для Gracia 
ЗДЕСЬ 
Вот для примера эту картинку 
скрипт нарисовал так:
Еще одна картинка нарисованная этим скриптом:
			
				Последний раз редактировалось Fer123, 17.05.2009 в 19:18 .
				Причина: обновление версии скрипта
				 
			
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	
		
			
				
					За это сообщение Fer123 нажился 24 спасибками от: 
				
				
				
			 
			 AD! , 
Anton5 , 
bistriy , 
bot-psih , 
Breadfan , 
catchy , 
dmitry501 , 
dyh9l , 
Grinch , 
He3eMHou , 
HellFire , 
Insane* , 
Johnson , 
mavi , 
MyGarant.net , 
NLObP , 
NoFear , 
QaK , 
RazdoR , 
safalkon , 
TAMBIK , 
Tekymse , 
TrueLegitPlayer , 
xkor   
	
  
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#41  
	
 
	
			
            
			
			Местный
			
			
		
			
			
			
				 
				Регистрация: 05.11.2008
				
				
				
					Сообщений: 168
				
				 
	Сказал Спасибо: 35
	
		
			
				Имеет 139 спасибок в 66 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			ver 0,2 
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	
		
			
				
					За это сообщение Fer123 нажился 2 спасибками от: 
				
				
				
			 
			 
	
  
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#42  
	
 
	
			
            
			
			Новичок
			
			
		
			
				
			
			
			
				 
				Регистрация: 29.04.2009
				
				
				
					Сообщений: 10
				
				 
	Сказал Спасибо: 9
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			а как можно добавить или изменить (если есть) задержку между отправкой пакетов. У меня на сервере если слишком часто спамить пакеты, то дисконнектитДобавлено через 1 минуту 
		
	
		
		
		
		
		
		
		
		
		
		
						
				Последний раз редактировалось Necrolity, 29.04.2009 в 02:05 .
				Причина: Добавлено сообщение
				 
			
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#43  
	
 
	
			
            
			
			Местный
			
			
		
			
				
			
			
			
				 
				Регистрация: 09.06.2008
				
				
				
					Сообщений: 867
				
				 
	Сказал Спасибо: 175
	
		
			
				Имеет 468 спасибок в 259 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			У меня предложение. Сделать проверку на количество итемов. Просто когда заполнять StringList написать if Count>1 then begin <и тут уже добавлять строки> end. Зачем? Ну чтоб пользователь не выбрал случайно шмотку или еще что-то не стопковое.
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#44  
	
 
	
			
            
			
			Новичок
			
			
		
			
				
			
			
			
				 
				Регистрация: 27.10.2007
				Адрес: Пермь
				
				
					Сообщений: 19
				
				 
	Сказал Спасибо: 28
	
		
			Имеет 1 спасибку в 1 сообщении
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Извините за глупый вопрос, но... как сохрянять битмап? Paint.NET для этого годится? Или подскажите другой графический редактор...
		
	
		
		
		
		
		
		
			
				__________________
				Если Вы недовольны моими действиями - то Вам 
сюда !
			
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#45  
	
 
	
			
            
			
			Местный
			
			
		
			
			
			
				 
				Регистрация: 05.11.2008
				
				
				
					Сообщений: 168
				
				 
	Сказал Спасибо: 35
	
		
			
				Имеет 139 спасибок в 66 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			MS Paint сойдет
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#46  
	
 
	
			
            
			
			Новичок
			
			
		
			
				
			
			
			
				 
				Регистрация: 27.10.2007
				Адрес: Пермь
				
				
					Сообщений: 19
				
				 
	Сказал Спасибо: 28
	
		
			Имеет 1 спасибку в 1 сообщении
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			Скрипт: Рисование предметами by ArchDevil!
		
	
		
		
		
		
		
		
			
				__________________
				Если Вы недовольны моими действиями - то Вам 
сюда !
			
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#47  
	
 
	
			
            
			
			Рыцарь
			
			
		
			
				
			
			
			
				 
				Регистрация: 07.03.2009
				
				
				
					Сообщений: 9,139
				
				 
	Сказал Спасибо: 70
	
		
			
				Имеет 2,820 спасибок в 1,735 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			прописать правильный путь в месте подгрузки itemsid.ini
		
	
		
		
		
		
		
		
			
				__________________
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#48  
	
 
	
			
            
			
			Новичок
			
			
		
			
				
			
			
			
				 
				Регистрация: 27.10.2007
				Адрес: Пермь
				
				
					Сообщений: 19
				
				 
	Сказал Спасибо: 28
	
		
			Имеет 1 спасибку в 1 сообщении
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			решил проблему... скопировал itemsid.ini в папку скриптов...
		
	
		
		
		
		
		
		
			
				__________________
				Если Вы недовольны моими действиями - то Вам 
сюда !
			
 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#49  
	
 
	
			
            
			
			Рыцарь
			
			
		
			
				
			
			
			
				 
				Регистрация: 25.02.2008
				Адрес: г.Волгоград
				
				
					Сообщений: 2,009
				
				 
	Сказал Спасибо: 1,285
	
		
			
				Имеет 1,458 спасибок в 793 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			
	Цитата:
	
	
		
			
				
					Сообщение от 
Johnson 
					решил проблему... скопировал itemsid.ini в папку скриптов...
			
		 
	 
	
 Это конечно тоже решение, но надо было исправить в  процедуре INIT
	delphi Код:
	procedure  Init; //Вызывается при включении скрипта 
begin 
  FormMain:=Create_FormMain;
  stats.Lines .Add ( 'Скрипт: Рисование предметами by ArchDevil!' ) ;
  timer:=TTimer.Create ( nil ) ;
  timer.OnTimer :=@OnTimer;
  timer.enabled :=false ;
  timer.interval :=700 ; //время задержки 
  ready:=false ;
  StringList:=TStringList .Create ;
  ItemsName:=TStringList .Create ;
  try 
    ItemsName.LoadFromFile ( 'itemsid.ini' ) ;
  except 
    stats.Lines .Add ( 'itemsid.ini не найден!' ) ;
    exit ;
  end ;
  buf:=hstr( '0F' ) ;
  SendToServerEx( Name) ;
end ;
 вот эти строчки
	delphi Код:
	try 
  ItemsName.LoadFromFile ( 'itemsid.ini' ) ;
except 
  stats.Lines .Add ( 'itemsid.ini не найден!' ) ;
  exit ;
end ;
 на такую
	delphi Код:
	ItemsName.LoadFromFile ( '.\settings\itemsid.ini' ) ;
  
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
	
	
		
	
		
	
				
			
			 
		
			 
			#50  
	
 
	
			
            
			
			Новичок
			
			
		
			
			
			
				 
				Регистрация: 02.06.2009
				
				
				
					Сообщений: 2
				
				 
	Сказал Спасибо: 3
	
		
			
				Имеет 0 спасибок в 0 сообщенях
			
		
	
				
				
				
				    
			 					
		
	 
	
	
	
		
		
			
			
			подскажите где поправить для gracia final, а то половину инвентаря не видит, и адену тоже
		
	
		
		
		
		
		
		
		
		
		
	
	 
 
	
		 
	
	
	
		
		
		
		
		
			 
 
 
	 
	
		 	
	 
 
		
 
	
		
 
  
	Опции темы 
	
 
	
	
	
	
	
	
	 
	
 
	Опции просмотра 
	
 
	
	
	
	
	
	
		Линейный вид  
	
	
	
	 
	
	
 
	
		
	
		 
 
 
	
		
		Вы не можете  создавать темы
		Вы не можете  отвечать на сообщения
		Вы не можете  прикреплять файлы
		Вы не можете  редактировать сообщения
		HTML код Выкл. 
	  
 
	 
	
		
	 
 
Часовой пояс GMT +4, время: 10:37 .
		 	
	 
 
	
	
	
	vBulletin style designed by 
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: 
zCarot 
	
 
 
 
 
Вы хотите чувствовать себя в безопасности? чоп  Белган обеспечит её!