Скрипт ла ламбер

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
oper of Ocllo
Posts: 11
Joined: 2004-06-25 10:23:52

Скрипт ла ламбер

Post by oper of Ocllo »

Плиз нужен скрипт на рубку деревьев с 2-х сторон
Если есть у кого скинти
oper of Ocllo
Posts: 11
Joined: 2004-06-25 10:23:52

Re: Скрипт ла ламбер

Post by oper of Ocllo »

oper of Ocllo wrote:Плиз нужен скрипт на рубку деревьев с 2-х сторон
Если есть у кого скинти
Мне на рубку в кастле нужно
Kazoo
Posts: 173
Joined: 2004-04-03 18:39:28
Contact:

Post by Kazoo »

нужно нужно нужно нужно сам зделай если так нужно а мне скрипт на невбс килинг в около нужен ! есть ? не ленис пробуц сам писать и кстате ты как дурак написал в кастле ему нужен в каком ешо нах кастле !
Kazoo
Posts: 173
Joined: 2004-04-03 18:39:28
Contact:

Post by Kazoo »

на форуме скриптоф на лумбер навалом бля на подавис так же как и все осталние которие не знают што такое сеарч

Code: Select all

#При работе должна быть "отжата" кнопка NumLock 
Var Hatchet1='0x0F43' # Типы 
Var Hatchet2='0x0F44' # топоров 
Var MoveDelay=200 # Промежуток между шагами 
Var MoveNumber=2   # Количество шагов при смене дислокации 
Var Ep=0.172 # Значение ширины угла хождения при определении направления. Если на пути встречаются сложные и широкие препятствия - увеличить. 0.172 - сбаланчированный. 
Var RecEps=6 # Проверочное значение на реколл 
Var UseRecSpell=1 # Реколлится по спеллу 
Var RecScrl='0x1F4C' # Свиток реколла 
Var RecMand='0x0F86' # Реагенты 
Var RecBlck='0x0F7A' # для 
Var RecBlod='0x0F7B' # реколла 
Var SafeRune='0x400DE872' # Руна в банк 
Var HomeRune='0x4007BADC' # Руна дома в банке 
Var FileName='C:\nortforest.dat' # В каждой строке файла тайл дерева 

Sub Main() 
UO.DeleteJournal() 
UO.Exec('exec Lumb') 
EndSub 

Sub Lumb() 
Var Tl,T,X,Y,Z 
UO.SetGlobal('process','yes') 
UO.Exec('exec BeAware') 
Var F=File(FileName) 
F.Open() 
Beg: 
DeleteJournal('no logs') 
DeleteJournal('immune to your') 
Tl=safecall F.Readln() 
Tl=Trim(Tl) 
If Tl=='File read error' Then 
  GoTo Ext 
EndIf 
T=GetNumb(Tl,0) 
X=GetNumb(Tl,1) 
Y=GetNumb(Tl,2) 
Z=GetNumb(Tl,3) 
UO.Print('Chop hext tree') 
UO.Print('Tile '+Tl) 
GoToTile(X,Y,1,False) 
Repeat 
  Hide() 
  DeleteJournal('logs in your pack') 
  DeleteJournal('fail to produce') 
  EquipHatchet() 
  UO.WaitTargetTile(Str(T),Str(X),Str(Y),Str(Z)) 
  UO.UseObject(UO.ObjAtLayer('Lhand')) 
  While not (UO.InJournal('logs in your pack') or UO.InJournal('fail to produce') or UO.InJournal('no logs') or UO.InJournal('heavy') or UO.InJournal('immune to your') or UO.InJournal('foliage yields')) 
   Wait(100) 
  Wend 
  UO.Print('There are '+Str(UO.Count('0x1BDD'))+' logs in the pack') 
Until UO.InJournal('no logs') or UO.InJournal('heavy') or UO.InJournal('immune to your') or UO.InJournal('foliage yields') 
If UO.InJournal('no logs') or UO.InJournal('immune to your') or UO.InJournal('foliage yields') Then 
  UO.Print('There are no logs here to chop') 
  GoTo Beg 
EndIf 
Ext: 
F.Close() 
UO.SetGlobal('process','no') 
EndSub 

Sub GetNumb(C,I) 
var J,T,K 
J=0 
K=1 
While K>0 
  J=J+1 
  If (Mid(C,J,1)==' ') Or (J>=Len(C)-1) Then 
   If I==0 Then 
    T=Val(Left(C,J)) 
   Else 
    T=GetNumb(Right(C,Len(C)-J-1),I-1) 
   EndIf 
   K=0 
  EndIf 
wend 
UO.Print(T) 
return T 
endsub 

Sub EquipHatchet() 
Var E=UO.ObjAtLayer('Lhand') 
E=UO.GetGraphic(E) 
Var J=True 
If (E<>Hatchet1) and (E<>Hatchet2) Then 
  If UO.Count(Hatchet1)>0 Then 
   UO.FindType(Hatchet1,'-1','backpack') 
  Else 
   If UO.Count(Hatchet2)>0 Then 
    UO.FindType(Hatchet2,'-1','backpack') 
   Else 
    UO.SetGlobal('process','no') 
    J=False 
   EndIf 
  EndIf 
  UO.UseObject('finditem') 
EndIf 
Wait(3200) 
RETURN J 
EndSub 

Sub BeAware() 
UO.SetGlobal('enemy','0x0') 
Var I 
Var MaxVal=2 
Dim Wares[2] 
Wares[1]='Reaper' 
Wares[2]='attacking you*' 
While (not UO.Dead()) and (UO.GetGlobal('enemy')=='0x0') and (UO.GetGlobal('process')=='yes') 
  Wait(100) 
  For I=1 to MaxVal 
   UO.SetGlobal('enemy',GetSerial(Wares[I],UO.GetGlobal('enemy'))) 
  Next 
Wend 
If UO.GetGlobal('enemy')<>'0x0' Then 
  UO.Exec('exec GoFrom') 
EndIf 
If (UO.GetGlobal('process')=='yes') Then 
  UO.Exec('terminate Lumb') 
EndIf 
Recall(SafeRune) 
UO.Exec('terminate GoFrom') 
Wait(3000) 
UO.ServerPrint('bank') 
Wait(3000) 
Recall(HomeRune) 
EndSub 

Sub GoFrom() 
Var En=UO.GetGlobal('enemy') 
While (not UO.Dead()) 
  MoveOnce(GetDir(UO.GetX(En),UO.GetY(En),UO.GetX(),UO.GetY()),MoveDelay/3,False) 
Wend 
EndSub 

Sub RecType() 
Var J 
If UseRecSpell==0 Then 
  If UO.Count(RecScrl)==0 Then 
   J=0 
  Else 
   J=1 
  EndIf 
Else 
  If (UO.Count(RecMand)==0) or (UO.Count(RecBlck)==0) or (UO.Count(RecBlod)==0) Then 
   J=0 
  Else 
   J=2 
  EndIf 
EndIf 
RETURN J 
EndSub 

Sub GetSerial(What,Last) 
Var J=Last 
Var T 
If UO.InJournal(What) Then 
  T=UO.InJournal(What) 
  J=Str(UO.JournalSerial(T)) 
EndIf 
RETURN J 
EndSub 

Sub Perp(Dir) 
Var D 
D=Dir 
If Dir==1 Then 
  D=3 
EndIf 
If Dir==2 Then 
  D=4 
EndIf 
If Dir==3 Then 
  D=-1 
EndIf 
If Dir==4 Then 
  D=-2 
EndIf 
If Dir==-1 Then 
  D=-3 
EndIf 
If Dir==-2 Then 
  D=-4 
EndIf 
If Dir==-3 Then 
  D=1 
EndIf 
If Dir==-4 Then 
  D=2 
EndIf 
RETURN D 
EndSub 

Sub MoveOnce(Dir,Del,Rev) 
Var Num 
If Rev Then 
  Num=MoveNumber+1 
Else 
  Num=MoveNumber 
EndIf 
If (Num>0) and (Dir<>0) Then 
  If Dir==1 Then 
   UO.Press(38,Num,Del) 
  EndIf 
  If Dir==2 Then 
   UO.Press(33,Num,Del) 
  EndIf 
  If Dir==3 Then 
   UO.Press(39,Num,Del) 
  EndIf 
  If Dir==4 Then 
   UO.Press(34,Num,Del) 
  EndIf 
  If Dir==-1 Then 
   UO.Press(40,Num-1,Del) 
  EndIf 
  If Dir==-2 Then 
   UO.Press(35,Num,Del) 
  EndIf 
  If Dir==-3 Then 
   UO.Press(37,Num,Del) 
  EndIf 
  If Dir==-4 Then 
   UO.Press(36,Num,Del) 
  EndIf 
  If Rev Then 
   If Dir<>-1 Then 
    UO.Press(40,1,Del) 
   EndIf 
  EndIf 
EndIf 
EndSub 

Sub GetQDir(x,y) 
Var J=0 
If X==0 Then 
  J=1 
Else 
  If (Y/X)<ep Then 
   J=3 
  Else 
   If (X/Y)<ep Then 
    J=1 
   Else 
    J=2 
   EndIf 
  EndIf 
EndIf 
RETURN J 
EndSub 

sub GetDir(myx,myy,ox,oy) 
Var I,J 
J=0 
Var X=ox-myx 
Var Y=oy-myy 
I=GetQDir(Abs(X),Abs(Y)) 
If X>=0 Then 
  If Y>=0 Then 
   If I==1 Then 
    J=-2 
   Else 
    If I==2 Then 
     J=-1 
    Else 
     If I==3 Then 
      J=4 
     EndIf 
    EndIf 
   EndIf 
  Else 
   If I==1 Then 
    J=2 
   Else 
    If I==2 Then 
     J=3 
    Else 
     If I==3 Then 
      J=4 
     EndIf 
    EndIf 
   EndIf 
  EndIf 
Else 
  If Y>=0 Then 
   If I==1 Then 
    J=-2 
   Else 
    If I==2 Then 
     J=-3 
    Else 
     If I==3 Then 
      J=-4 
     EndIf 
    EndIf 
   EndIf 
  Else 
   If I==1 Then 
    J=2 
   Else 
    If I==2 Then 
     J=1 
    Else 
     If I==3 Then 
      J=-4 
     EndIf 
    EndIf 
   EndIf 
  EndIf 
EndIf 
RETURN J 
endsub 

sub abs(a) 
Var b 
If a<0 Then 
  b=-a 
Else 
  b=a 
endif 
return b 
endsub 

Sub PermResend() 
Var Mn=9 
Repeat 
  UO.Resend() 
  Wait(MoveDelay*Mn) 
Until (1>2) 
EndSub 

sub max(A,B) 
Var C 
If A>B Then 
  C=A 
Else 
  C=B 
EndIf 
Return C 
EndSub 

sub GetDistance(X,Y) 
return max(abs(X-uo.getx()),abs(Y-uo.gety())) 
endsub 

sub GoToTile(OX,OY,N,S) 
var myx, myy, MD, J 
var Lx1 ,Ly1 
var Lx2 ,Ly2 
var Sx ,Sy 
var T 
var Des=N 
J=1 
MD=MoveDelay*1.5 
myx=uo.getx() 
myy=uo.gety() 
MoveOnce(GetDir(uo.getx(),uo.gety(),ox,oy),MD,False) 
Sx=0 
Sy=0 
Lx1=uo.getx()/2 
Ly1=uo.gety()/2 
Lx2=Lx1/2 
Ly2=Ly1/2 
T=UO.Timer() 
If (GetDistance(ox,oy)<>N) or ((not S) and GetDistance(ox,oy)>N) Then 
  UO.Exec('exec PermResend') 
EndIf 
While ((GetDistance(ox,oy)<>N) or ((not S) and GetDistance(ox,oy)>N)) and (OX>=0) and (OY>=0) 
  If ((UO.Timer()-T)*15>MoveDelay) Then 
   T=UO.Timer() 
#   UO.Print(Str(uo.getx())+' '+Str(uo.gety())+' '+Str(ox)+' '+Str(oy)+' '+Str(GetDir(uo.getx(),uo.gety(),ox,oy))+' '+Str(T)) 
   Lx2=Lx1 
   Ly2=Ly1 
   Lx1=myx 
   Ly1=myy 
   myx=uo.getx() 
   myy=uo.gety() 
  endIf 
  MD=MoveDelay 
  If ((OX-uo.getx())*(OX-uo.getx())+(OY-uo.gety())*(OY-uo.gety())>0) Then 
   MD=MD*3/GetDistance(ox,oy) 
  EndIf 
  wait(MD) 
  If GetDistance(OX,OY)>Des Then 
   MoveOnce(GetDir(uo.GetX(),uo.GetY(),ox,oy),MD,False) 
  Else 
   If S Then 
    If GetDistance(OX,OY)<Des Then 
     If GetDistance(OX,OY)<>0 Then 
      MoveOnce(GetDir(ox,oy,uo.GetX(),uo.GetY()),MD,False) 
     Else 
      MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD,False) 
     EndIf 
    EndIf 
   EndIf 
  EndIf 
  If GetDistance(OX,OY)<>Des Then 
   If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then 
    If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then 
     J=1 
    EndIf 
    J=J+1 
    UO.Resend() 
    Sx = uo.getx() 
    Sy = uo.gety() 
    Stun(ox,oy,J) 
   EndIf 
  EndIf 
Wend 
UO.Exec('terminate PermResend') 
endsub 

Sub Stun(X,Y,N) 
Var I 
Var myx 
Var myy 
myx = uo.getx() 
myy = uo.gety() 
For I=1 to N 
  MoveOnce(perp(GetDir(myx,myy,x,y)),MoveDelay,False) 
Next 
Wait(MoveDelay) 
UO.Resend() 
If (myx==uo.getx()) and (myy==uo.gety()) Then 
  For I=1 to N 
   MoveOnce(-perp(GetDir(myx,myy,x,y)),MoveDelay,False) 
  Next 
  Wait(MoveDelay) 
  UO.Resend() 
EndIf 
If (myx==uo.getx()) and (myy==uo.gety()) Then 
  For I=1 to N 
   MoveOnce(-GetDir(myx,myy,x,y),MoveDelay,False) 
  Next 
  Wait(MoveDelay) 
  Stun(x,y,N) 
EndIf    
EndSub 

sub NearTile(Obj,Des) 
var ox, oy, myx, myy, MD, J 
var Lx1 ,Ly1 
var Lx2 ,Ly2 
var Sx ,Sy 
var T 
UO.Click(Obj) 
MD=MoveDelay*1.5 
ox=uo.GetX(Obj) 
oy=uo.GetY(Obj) 
J=1 
myx = uo.getx() 
myy = uo.gety() 
Sx=0 
Sy=0 
Lx1=myx/2 
Ly1=myy/2 
Lx2=Lx1/2 
Ly2=Ly1/2 
T=UO.Timer() 
If not (UO.GetDistance(Obj)==Des) Then 
  UO.Exec('exec PermResend') 
EndIf 
While not (UO.GetDistance(Obj)==Des) 
  ox=uo.GetX(Obj) 
  oy=uo.GetY(Obj) 
  If ((UO.Timer()-T)*15>MoveDelay) Then 
   T=UO.Timer() 
#   UO.Print('Go to '+Str(Des)+' to '+UO.GetName(Obj)) 
#   UO.Print(Str(UO.GetDistance(Obj))) 
#   UO.Print(Str(uo.GetX())+' '+Str(uo.GetY())+' '+Str(uo.GetX(Obj))+' '+Str(uo.GetY(Obj))+' '+Str(GetDir(uo.GetX(),uo.GetY(),uo.GetX(Obj),uo.GetY(Obj)))+' '+Str(T)) 
   Lx2=Lx1 
   Ly2=Ly1 
   Lx1=myx 
   Ly1=myy 
   myx=uo.getx() 
   myy=uo.gety() 
  endIf 
  MD=MoveDelay*1.5 
  If (UO.GetDistance(Obj)>0) Then 
   MD=MD/UO.GetDistance(Obj) 
  EndIf 
  wait(MD) 
  If UO.GetDistance(Obj)>Des Then 
   MoveOnce(GetDir(uo.GetX(),uo.GetY(),uo.GetX(Obj),uo.GetY(Obj)),MD,False) 
  Else 
   If UO.GetDistance(Obj)<Des Then 
    If UO.GetDistance(Obj)<>0 Then 
     MoveOnce(GetDir(uo.GetX(obj),uo.GetY(obj),uo.GetX(),uo.GetY()),MD,False) 
    Else 
     MoveOnce(GetDir(uo.GetX(),uo.GetY(),Lx2,Ly2),MD,False) 
    EndIf 
   EndIf 
  EndIf 
  If UO.GetDistance(Obj)<>Des Then 
   If (Lx2==uo.getx()) and (Ly2==uo.gety()) Then 
    If (Sx<>uo.getx()) or (Sy<>uo.gety()) Then 
     J=1 
    EndIf 
    J=J+1 
    UO.Resend() 
    Sx = uo.getx() 
    Sy = uo.gety() 
    Stun(uo.GetX(Obj),uo.GetY(Obj),J) 
   EndIf 
  EndIf 
Wend 
UO.Exec('terminate PermResend') 
endsub 

Sub Recall(ThisRune) 
Var X,Y,Z 
X=UO.GetX() 
Y=UO.GetY() 
Z=UO.GetZ() 
If RecType()>0 Then 
  If RecType()==1 Then 
   Repeat 
    DeleteJournal('Kal Ort Por') 
    DeleteJournal('You lack') 
    DeleteJournal('fizzle') 
    UO.WaitTargetObject(ThisRune) 
    Wait(500) 
    UO.UseType(RecScrl) 
    While (not UO.InJournal('Kal Ort Por')) and (not UO.InJournal('You lack')) and (not UO.InJournal('fizzle')) 
     Wait(250) 
    Wend 
    If UO.InJournal('Kal Ort Por') Then 
     Wait(3000) 
    EndIf 
    If (X-UO.GetX())*(X-UO.GetX())<RecEps*RecEps Then 
    EndIf 
   Until ((X-UO.GetX())*(X-UO.GetX())>=RecEps*RecEps) or ((Y-UO.GetY())*(Y-UO.GetY())>=RecEps*RecEps) or ((Z-UO.GetZ())*(Z-UO.GetZ())>=RecEps*RecEps) or (RecType()==0) 
  Else 
   Repeat 
    DeleteJournal('Kal Ort Por') 
    DeleteJournal('You lack') 
    DeleteJournal('fizzle') 
    UO.Cast('Recall',ThisRune) 
    While (not UO.InJournal('Kal Ort Por')) and (not UO.InJournal('You lack')) and (not UO.InJournal('fizzle')) 
     Wait(250) 
    Wend 
    If UO.InJournal('Kal Ort Por') Then 
     Wait(3000) 
    EndIf 
   Until ((X-UO.GetX())*(X-UO.GetX())>=RecEps*RecEps) or ((Y-UO.GetY())*(Y-UO.GetY())>=RecEps*RecEps) or ((Z-UO.GetZ())*(Z-UO.GetZ())>=RecEps*RecEps) or UO.InJournal('You lack') or UO.InJournal('beyond') 
  EndIf 
EndIf 
EndSub 

Sub DeleteJournal(What) 
Var T,J 
J=False 
If UO.InJournal(What) Then 
  J=True 
  UO.DeleteJournal() 
EndIf 
RETURN J 
EndSub 

Sub Hide() 
EndSub
oper of Ocllo
Posts: 11
Joined: 2004-06-25 10:23:52

Post by oper of Ocllo »

Kazoo wrote:нужно нужно нужно нужно сам зделай если так нужно а мне скрипт на невбс килинг в около нужен ! есть ? не ленис пробуц сам писать и кстате ты как дурак написал в кастле ему нужен в каком ешо нах кастле !
На ZHR можно рубить в кастле :)
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

oper of Ocllo wrote:
Kazoo wrote:нужно нужно нужно нужно сам зделай если так нужно а мне скрипт на невбс килинг в около нужен ! есть ? не ленис пробуц сам писать и кстате ты как дурак написал в кастле ему нужен в каком ешо нах кастле !
На ZHR можно рубить в кастле :)
И чего, у вас можно дерево с двух сторон рубить? То есть сначала рубим с одной стороны, все вырубаем с дерева, обходим дерево и рубим с другой стороны? Обалдеть...
Kazoo
Posts: 173
Joined: 2004-04-03 18:39:28
Contact:

Post by Kazoo »

у нас нет +) ета у них
oper of Ocllo
Posts: 11
Joined: 2004-06-25 10:23:52

Post by oper of Ocllo »

Edred wrote:
oper of Ocllo wrote:
Kazoo wrote:нужно нужно нужно нужно сам зделай если так нужно а мне скрипт на невбс килинг в около нужен ! есть ? не ленис пробуц сам писать и кстате ты как дурак написал в кастле ему нужен в каком ешо нах кастле !
На ZHR можно рубить в кастле :)
И чего, у вас можно дерево с двух сторон рубить? То есть сначала рубим с одной стороны, все вырубаем с дерева, обходим дерево и рубим с другой стороны? Обалдеть...
ЛОЛ
в 2-а ряда деревья стоят
а между ними идет чар и рубит то с одного ряда дерево
а потом с другого ряда
ПОНЯТНО??????????
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

oper of Ocllo wrote:ЛОЛ
в 2-а ряда деревья стоят
а между ними идет чар и рубит то с одного ряда дерево
а потом с другого ряда
ПОНЯТНО??????????
ЛОЛ
Теперь ты понял как надо объяснять задачу того, на что тебе нужен скрипт?
ПОНЯТНО??????????

ЗЫ: Возьми любой скрипт на рубку по массиву (тут их как минимум несколько штук есть) и пользуй. Один раз разметишь все деревья в нужном порядке в массив и ходи-руби.
Kazoo
Posts: 173
Joined: 2004-04-03 18:39:28
Contact:

Post by Kazoo »

Edred немог бы ты мне стукнкть в асю плиз 2422750
oper of Ocllo
Posts: 11
Joined: 2004-06-25 10:23:52

Post by oper of Ocllo »

Edred wrote:
oper of Ocllo wrote:ЛОЛ
в 2-а ряда деревья стоят
а между ними идет чар и рубит то с одного ряда дерево
а потом с другого ряда
ПОНЯТНО??????????
ЛОЛ
Теперь ты понял как надо объяснять задачу того, на что тебе нужен скрипт?
ПОНЯТНО??????????

ЗЫ: Возьми любой скрипт на рубку по массиву (тут их как минимум несколько штук есть) и пользуй. Один раз разметишь все деревья в нужном порядке в массив и ходи-руби.

просто при использывании скриптов (которые тут несколько штук)
UO пишет что нельзя рубить в кастле
мне нужен грубо говоря чтоб чар сам искал дерево по графики
и при нахождении рубил его +делал шаг в перед и тоже самое действие
oper of Ocllo
Posts: 11
Joined: 2004-06-25 10:23:52

Post by oper of Ocllo »

Мне надо типа вот етого но чтоб рубило

sub main()
uo.DeleteJournal()
var a,b,y,coords,place,where_x,where_y
var tool='0x0F49', logs='0x1BDD', map='0x14ED'
while true
uo.press(34)
for a = 1 to 14
for y = 2 to 4
where_x=uo.getx(1)
where_y=uo.gety(1)
coords="waittargettile "+" 1339 "+str(where_x)+" "+str(where_y+y)+" 5" #cave
uo.exec(coords)
uo.usetype(tool)
repeat
wait(100)
until uo.InJournal("stop") or uo.InJournal("can't")
uo.DeleteJournal()
next
wait(500)
place=uo.getx()
uo.press(34)
while uo.getx()==place
wait(500)
wend
next
uo.press(36)
for b = 1 to 14
for y = 1 to 2
where_x=uo.getx()
where_y=uo.gety()
coords="waittargettile "+" 1339 "+str(where_x)+" "+str(where_y-y)+" 2" #cave
uo.exec(coords)
uo.usetype(tool)
repeat
wait(100)
until uo.InJournal("stop") or uo.InJournal("can't")
uo.DeleteJournal()
next
wait(500)
place=uo.getx()
uo.press(36)
while uo.getx()==place
wait(500)
wend
next
repeat
if uo.count(map)>100 then
repeat
uo.waittargettype(map)
uo.exec("drop 1")
wait(200)
until uo.count('map')<85
end if
wend
end sub
evil_Gremlin
Posts: 54
Joined: 2004-05-11 12:27:22
Contact:

Post by evil_Gremlin »

написать скрипт на поиск по форуму и динамическое человеческое мышление? ;)
Каждый манчкин в старости мечтает иметь кресло-качалку ;)
Post Reply