Page 1 of 2

Hardпрокачка всех скилов

Posted: 2006-03-06 19:14:20
by Scripts Writer
Вот задался такой мыслёй, -мечтой идиота правда, но всё же.

Вопросы тут буду задавать если не против :)

1. skillval==1000 -объясните правильный синтаксис, будьте добры

Re: Hardпрокачка всех скилов

Posted: 2006-03-06 21:28:11
by Kynep
You Must Die wrote:Вот задался такой мыслёй, -мечтой идиота правда, но всё же.

Вопросы тут буду задавать если не против :)

1. skillval==1000 -объясните правильный синтаксис, будьте добры
Если я тебя правильно понял, ты хочешь проверять значение скила, вот например Магери:

Code: Select all

if uo.skillval("Magery",1) < 1010 Then
тут свой код
Проверяет значение магери, если меньше 101 то делает то что напишешь, значения надо ставить те которые показывает без кнопочки Show Real. И в конце добывлять ноль.

Posted: 2006-03-06 22:41:28
by Sanata
о я хотел узнать в чем фишка и зачем это нужно ?! например таминг real: 100% а так 102% . :? :D

Posted: 2006-03-06 22:58:42
by Kynep
Sanata wrote:о я хотел узнать в чем фишка и зачем это нужно ?! например таминг real: 100% а так 102% . :? :D
Фишка в том чтоб писать скрипты для прокачки на ночь. Если хочешь докачать до ГМа и чтоб зря не стоял не буровил, например магери, он тебе за час докачал а ты спишь. И он стоит и всю ночь кастует, реги тратит, а так поставил проверку и спи спокойно, когда докочает до нужного значения, то остановится.

Posted: 2006-03-07 00:00:46
by Grin
Sanata wrote:о я хотел узнать в чем фишка и зачем это нужно ?! например таминг real: 100% а так 102% . :? :D
Работает на ОСИ на других эмуляторах невидел.
Если присмотришься то увидишь что разница растет в месте стваими статами... Так вот на ОСИ есть бонус к склам в зависемости от статов...
ну а для лбителей качатся лишний повод порадоватся сначала у видить как скил стал 100;) потом как он стал больше 100;) а потом еще раз как стал 100 но уже реал;)) все для вас делают;)

PS Синтакис даной байды есть в хелпе...

Posted: 2006-03-07 03:31:26
by Destruction
Пару лет назад на доминарии нереальное значение скилов зависило от статов, от ловкости в любом случае точно.

Но правда, значения всё равно брались только реальные, я полагаю.

Posted: 2006-03-07 20:06:00
by Scripts Writer
как приклеять процедуру кушания? =)

Code: Select all

...
if uo.InJournal('You are hungry')
...

Весьма долго на мой взгляд, возможно можно присобачить после ВорлдСейва? Цикл следующий:

Code: Select all

repeat
   Uo.WaitTargetObject(Item) 
   Uo.UseSkill('Item Identification')
      	 repeat
     	 Wait(100)
     	 Until uo.InJournal('msg') or uo.InJournal('msg2')

   until uo.SkillVal(Item Identification,'1') == 1000

Posted: 2006-03-07 21:42:05
by Scripts Writer

Code: Select all

############################################################
########################drw.ru##############################
############################################################
############################################################							                                                 
# Если кто то играет на хорошем конекте                    #
#  Или по локальной сети, то можно и постоять,покачаться =)#
#							                                     #
############################################################
############################################################
#          					                  	            #
# Указываем вещи для прокачки.                             #
# Указываем животное для Animal Lore                       #
# (Если у вас на шарде это не запрещено)На том же животном #
# качаем Evaluating Intell                                 #
# Так же указываем еду на которой качать Taste Ident и то  #
# что будем перекусывать.                                  #
############################################################

sub bla()
Var msg='You estimate' # Удачное сообщение при использовании скила Item Ident
Var msg2='You cannot' #Неудачное сообщение при использовании скила Item Ident
Var msg3='it is' # Удачное сообщение при использовании скила Animal Lore
Var msg4='You cannot' #Неудачное сообщение при использовании скила Animal Lore
Var msg5='[' # Удачное сообщение при использовании скила Arms Lore
Var msg6='You cannot' #Неудачное сообщение при использовании скила Arms Lore
Var msg7='' # Удачное сообщение при использовании скила Evalution Intell
Var msg8='' #Неудачное сообщение при использовании скила Evalution Intell
Var msg9='looks' # Удачное сообщение при использовании скила Anatomy
Var msg10='You cannot' #Неудачное сообщение при использовании скила Anatomy
Var msg11='It tastes' # Удачное сообщение при использовании скила Taste Ident
Var msg12='You cannot' #Неудачное сообщение при использовании скила Taste Ident
var w=750


Uo.Print('Select an item')
Uo.exec('addobject Item')
       	while uo.targeting()
        	Wait(100)
            Wend
Uo.Print('Select an animal')
Uo.exec('addobject animal')
       	  while uo.targeting()
        	  Wait(100)
              Wend
Uo.Print('Select something to eat(For skill)')
Uo.exec('addobject taste')
       	while uo.targeting()
        	Wait(100)
            Wend
Uo.Print('Select something to eat')
Uo.exec('addobject eda')
       	while uo.targeting()
        	Wait(100)
            Wend
   repeat
   Uo.WaitTargetObject(Item) 
   Uo.UseSkill('Item Identification')
      	 repeat
     	 Wait(100)
	  CheckLag()
     	 Until uo.InJournal('msg') or uo.InJournal('msg2')
if uo.InJournal('You are hungry') then 
repeat  
uo.findtype('food',-1,'backpack')
if uo.findcount() > 0 then
uo.UseObject('food')
wait(w)
until uo.InJournal('You are simply') or uo.findcount() == 0
else
endif
uo.DeleteJournal()  
   until uo.SkillVal('Item Identification') == 1000
		 repeat
		 uo.WaitTargetObject(animal)
		 uo.UseSkill('Animal Lore')
			 repeat
			 wait(100)
	  CheckLag()
         		 Until uo.InJournal('msg3') or uo.InJournal('msg4')
if uo.InJournal('You are hungry') then 
repeat  
uo.findtype('food',-1,'backpack')
if uo.findcount() > 0 then
uo.UseObject('food')
wait(w)
until uo.InJournal('You are simply') or uo.findcount() == 0
else
endif
uo.DeleteJournal()  
		until uo.SkillVal('Animal Lore') == 1000
  				 repeat
  				 Uo.WaitTargetObject(Item) 
  				 Uo.UseSkill('Arms Lore')
   				   	 repeat
     					 Wait(100)
	  CheckLag()
     					 Until uo.InJournal('msg5') or uo.InJournal('msg6')
if uo.InJournal('You are hungry') then 
repeat  
uo.findtype('food',-1,'backpack')
if uo.findcount() > 0 then
uo.UseObject('food')
wait(w)
until uo.InJournal('You are simply') or uo.findcount() == 0
else
endif
uo.DeleteJournal()  
  				 until uo.SkillVal('Arms Lore') == 1000
	repeat
	uo.WaitTargetObject(animal)
	uo.UseSkill('Evaluating Intelligence')
	     repeat
	     wait(100)
	  CheckLag()
             Until uo.InJournal('msg7') or uo.InJournal('msg8')
if uo.InJournal('You are hungry') then 
repeat  
uo.findtype('food',-1,'backpack')
if uo.findcount() > 0 then
uo.UseObject('food')
wait(w)
until uo.InJournal('You are simply') or uo.findcount() == 0
else
endif
uo.DeleteJournal()  
	until uo.SkillVal('Evaluating Intelligence') == 1000
   		repeat
   		Uo.WaitTargetObject(animal) 
   		Uo.UseSkill('Anatomy')
      		  repeat
     	          Wait(100)
	  CheckLag()
     	          Until uo.InJournal('msg9') or uo.InJournal('msg10')
if uo.InJournal('You are hungry') then 
repeat  
uo.findtype('food',-1,'backpack')
if uo.findcount() > 0 then
uo.UseObject('food')
wait(w)
until uo.InJournal('You are simply') or uo.findcount() == 0
else
endif
uo.DeleteJournal()  
                until uo.SkillVal('Anatomy') == 1000
			 repeat
			 uo.WaitTargetObject(taste)
			 uo.UseSkill('Taste Identification')
	 		   repeat
	 		   wait(100)
	  CheckLag()
          		   Until uo.InJournal('msg11') or uo.InJournal('msg12')
if uo.InJournal('You are hungry') then 
repeat  
uo.findtype('food',-1,'backpack')
if uo.findcount() > 0 then
uo.UseObject('food')
wait(w)
until uo.InJournal('You are simply') or uo.findcount() == 0
else
endif
uo.DeleteJournal()  
			 until uo.SkillVal('Taste Identification') == 1000
end sub


sub CheckLag() 
if uo.injournal("World is saving now...") then
repeat
wait(50)
until uo.injournal("World save")
end if 
uo.Click('backpack') 
repeat 
wait(50) 
until uo.InJournal("backpack") 
end sub

Posted: 2006-03-07 21:43:48
by Scripts Writer
вот накалякал. мож кому нуно )

Posted: 2006-03-08 00:06:47
by Edred
Вот мне интересно, а ты отступы (структуру) табуляциями от балды ставил? Совершенно не уловил системы. Обычно для удобства чтения отступами размечают тело циклов и условных операторов... У тебя - ничего подобного.

Posted: 2006-03-08 10:15:57
by Scripts Writer
Edred wrote:Вот мне интересно, а ты отступы (структуру) табуляциями от балды ставил? Совершенно не уловил системы. Обычно для удобства чтения отступами размечают тело циклов и условных операторов... У тебя - ничего подобного.
2 вопроса:

1.Как правильно разлиновывать на небольшом примере плз.
2. Как правильнее урезать процесс еды персонажем?

скрипт на то чтобы ел свернуть в отдельный и вставлять допустим:

Code: Select all

eating()
или в

Code: Select all

sub Checklag() 
добавить?

Вопрос ко всем.

---
после ответа на вопрос приплюсую к общему скрипту спирит , тракинг, детект, хаидинг...

Posted: 2006-03-08 11:16:49
by Scripts Writer
не доработал, извиняюсь. просьба ответить на вопросы выше.

Posted: 2006-03-08 11:39:06
by Edred
Погляди мои уроки, там примеров достаточно. Обычно, программисты выделяют табуляцией внутреннее тело цикла или условного оператора вот так:

Code: Select all

if <условие> then
	<тело оператора>
endif
Аналогично циклы (for, while, repeat). Для чего? Так гораздо легче читать скрипт, анализировать его структуру, находить ошибки, находить места для вставки дополнений и т.д. Также, в этих же целях, в скрипты обычно добавляют комментарии... :lol:

Posted: 2006-03-08 12:17:05
by Edred
Решил (по твоей просьбе в личке) сделать отступы тебе в скрипте, что ты запостил выше, и в процессе сразу наткнулся на ошибку. Если бы ты писал скрипт (или склеивал) с разметкой структуры табуляциями, ты бы ее тоже сразу увидел:

Code: Select all

sub bla() 
	Var msg='You estimate' 		# Удачное сообщение при использовании скила Item Ident 
	Var msg2='You cannot' 		#Неудачное сообщение при использовании скила Item Ident 
	Var msg3='it is' 		# Удачное сообщение при использовании скила Animal Lore 
	Var msg4='You cannot'		#Неудачное сообщение при использовании скила Animal Lore 
	Var msg5='[' 			# Удачное сообщение при использовании скила Arms Lore 
	Var msg6='You cannot' 		#Неудачное сообщение при использовании скила Arms Lore 
	Var msg7='' 			# Удачное сообщение при использовании скила Evalution Intell 
	Var msg8='' 			#Неудачное сообщение при использовании скила Evalution Intell 
	Var msg9='looks' 		# Удачное сообщение при использовании скила Anatomy 
	Var msg10='You cannot' 		#Неудачное сообщение при использовании скила Anatomy 
	Var msg11='It tastes' 		# Удачное сообщение при использовании скила Taste Ident 
	Var msg12='You cannot' 		#Неудачное сообщение при использовании скила Taste Ident 
	var w=750 

	Uo.Print('Select an item') 
	Uo.exec('addobject Item') 
	while uo.targeting() 
		Wait(100) 
	Wend 
	Uo.Print('Select an animal') 
	Uo.exec('addobject animal') 
	while uo.targeting() 
		Wait(100) 
	Wend 
	Uo.Print('Select something to eat(For skill)') 
	Uo.exec('addobject taste') 
	while uo.targeting() 
		Wait(100) 
	Wend 
	Uo.Print('Select something to eat') 
	Uo.exec('addobject eda') 
	while uo.targeting() 
		Wait(100) 
	Wend 
	repeat 
		Uo.WaitTargetObject(Item) 
		Uo.UseSkill('Item Identification') 
		repeat 
			Wait(100) 
			CheckLag() 
		Until uo.InJournal('msg') or uo.InJournal('msg2') 
		if uo.InJournal('You are hungry') then 
			repeat  
				uo.findtype('food',-1,'backpack') 
				if uo.findcount() > 0 then 
					uo.UseObject('food') 
					wait(w) 
			until uo.InJournal('You are simply') or uo.findcount() == 0 


else 
endif 
Вот тут в конце - у тебя закрывается цикл repeat, но if еще не закрыт. If закрывается за пределами repeat - это гарантированные глюки или падение инжи.

Posted: 2006-03-08 13:28:30
by Scripts Writer
я при тесте уже нашел достаточное кол-во ошибок. Сейчас корректирую, и спасиб тебе за корректировку )


а что касается еды? твоё мнение оставлять её в таком виде как сейчас или изменятьв отдельный скрипт? или както еще можно?

Posted: 2006-03-08 18:43:13
by Scripts Writer

Code: Select all

############################################################ 
########################drw.ru############################## 
############################################################ 
############################################################                                                                       
# Если кто то играет на хорошем конекте                    # 
#  Или по локальной сети, то можно и постоять,покачаться =)# 
#                                                          # 
############################################################ 
############################################################ 
#                                                          # 
# Указываем вещи для прокачки.                             # 
# Указываем животное для Animal Lore                       # 
# (Если у вас на шарде это не запрещено)На том же животном # 
# качаем Evaluating Intell)                                # 
# Так же указываем еду на которой качать Taste Ident и что # 
# что будем перекусывать.                                  #
# added:                                                   #
# Hiding,Detect Hiding, Tracking, Spirit Speak, Stelth     #
############################################################ 
; 8.03.06
; msg- msg12 - сообщения
; 
; Формула задающая время между использованием скилов, следующая:
;
; if uo.InJournal(waiting) then
;   forskill= forskill + 500
; end if
;                 v 1.0
;          created & tested on 
;  Shard Dragon World by Goldberg[PaDoHkU]
;
#############################################################
sub eating()
var w = 750                  # Задержка между кликами по еде, когда голодны
var food='0x09D1'            # Тип еды которую кушаем
var i
if uo.InJournal('You are hungry') then 
for i = 0 to 10 
uo.findtype('food',-1,'backpack') 
uo.UseObject('food') 
wait(w)
i = i + 1
next
endif 
uo.DeleteJournal() 
end sub

sub bla() 
  
  Var msg='Its made'               # Удачное сообщение при использовании скила Item Ident 
  Var msg2='You cannot'            #Неудачное сообщение при использовании скила Item Ident 
  Var msg3='it is'                 # Удачное сообщение при использовании скила Animal Lore 
  Var msg4='You cannot'            #Неудачное сообщение при использовании скила Animal Lore 
  Var msg5='Attack'                # Удачное сообщение при использовании скила Arms Lore 
  Var msg6='You cannot'            #Неудачное сообщение при использовании скила Arms Lore 
  Var msg7='Looks'                 # Удачное сообщение при использовании скила Evalution Intell 
  Var msg8='cannot say'            #Неудачное сообщение при использовании скила Evalution Intell 
  Var msg9='You see: Horse'        # Удачное сообщение при использовании скила Anatomy 
  Var msg10='You cannot'           #Неудачное сообщение при использовании скила Anatomy 
  Var msg11='It tastes'            # Удачное сообщение при использовании скила Taste Ident 
  Var msg12='substance.'           #Неудачное сообщение при использовании скила Taste Ident 
  VAR fizzle = 'You fail your attempt' # Удачное сообщение при использовании скила Spirit Speak
  VAR success = 'You establish a connection' #Неудачное сообщение при использовании скила Spirit Speak
  Var waiting='You must wait'      # Слишком быстро используем Skill
  Var forskill=2000                # Время для использования скилов( генерируется автоматически )
  VAR mod = UO.WarMode(), num      # Don't touch
  VAR trak = 3000                  # Время нужное для использования скила Tracking

  Uo.Print('Select an item') 
  Uo.exec('addobject Item') 
  while uo.targeting() 
    Wait(100) 
  Wend 
  Uo.Print('Select an animal') 
  Uo.exec('addobject animal') 
  while uo.targeting() 
    Wait(100) 
  Wend 
  Uo.Print('Select something to eat(For skill)') 
  Uo.exec('addobject taste') 
  while uo.targeting() 
    Wait(100) 
  Wend 
  Uo.Print('Select something to eat') 
  Uo.exec('addobject eda') 
  while uo.targeting() 
    Wait(100) 
  Wend 
  repeat 
    repeat
      Uo.WaitTargetObject('Item') 
      Uo.UseSkill('Item Identification')
      Wait(forskill)
        if uo.InJournal(waiting) then
          forskill = forskill + 500
        end if
    Until uo.InJournal(msg) or uo.InJournal(msg2)
  CheckLag()
  eating()
  until uo.SkillVal('Item Identification') == 1000
  repeat
    uo.DeleteJournal()
    uo.WaitTargetObject('animal') 
    uo.UseSkill('Animal Lore')
    Wait(forskill)
      repeat
        if uo.InJournal(waiting) then
          forskill = forskill + 500
        end if
      CheckLag() 
      Until uo.InJournal(msg3) or uo.InJournal(msg4)
    CheckLag()
    eating()
  until uo.SkillVal('Animal Lore') == 1000 
  repeat 
    repeat
      Uo.WaitTargetObject('Item') 
      Uo.UseSkill('Arms Lore')
      Wait(forskill)
        if uo.InJournal(waiting) then
          forskill = forskill + 500
        end if
    Until uo.InJournal(msg5) or uo.InJournal(msg6)
  CheckLag()
  eating()
  until uo.SkillVal('Arms Lore') == 1000
   repeat 
    uo.WaitTargetObject('animal') 
    uo.UseSkill('Evaluating Intelligence')
    Wait(forskill)
      repeat
        if uo.InJournal(waiting) then
          forskill = forskill + 500
        end if
      CheckLag() 
      Until uo.InJournal(msg7) or uo.InJournal(msg8)
    CheckLag()
    eating()
  until uo.SkillVal('Evaluating Intelligence') == 1000
  repeat 
    uo.WaitTargetObject('animal') 
    uo.UseSkill('Anatomy')
    Wait(forskill)
      if uo.InJournal(waiting) then
        forskill = forskill + 500
      end if
    CheckLag()
    eating()
  until uo.SkillVal('Anatomy') == 1000
  repeat 
    uo.WaitTargetObject('taste') 
    uo.UseSkill('Taste Identification')
    Wait(forskill)
      if uo.InJournal(waiting) then
        forskill = forskill + 500
      end if
    CheckLag()
    eating()
  until uo.SkillVal('Taste Identification') == 1000
  repeat
  	UO.WarMode( 0 ) 
   	uo.DeleteJournal() 
   	  repeat 
    	uo.DeleteJournal() 
     	UO.UseSkill( 'Spirit Speak' ) 
     	  repeat 
        	wait(50) 
      	  until UO.InJournal('msg13') OR UO.InJournal('msg14') 
	    CheckLag()
   	  until UO.InJournal( success ) 
  	 UO.WarMode( mod ) 
     eating()
  until uo.SkillVal('Spirit Speak') == 1000
  repeat
    uo.AutoMenu("Tracking","Players") 
    uo.UseSkill('Tracking')
    wait(trak)
    eating()
  until uo.SkillVal('Tracking') == 1000
  UO.DeleteJournal() 
  repeat 
    UO.UseSkill('Detect Hidden')
    wait(forskill)
      if uo.InJournal(waiting) then
        forskill = forskill + 500
      end if
    wait(forskill) 
    eating()
  until uo.SkillVal('Detect Hidden') == 1000
  repeat 
    UO.UseSkill('Detect Hidden')
    wait(forskill)
      if uo.InJournal(waiting) then
        forskill = forskill + 500
      end if
    wait(forskill) 
    eating()
  until uo.SkillVal('Detect Hidden') == 1000
  repeat 
    UO.UseSkill('Hiding')
    wait(forskill)
      if uo.InJournal(waiting) then
        forskill = forskill + 500
      end if
    wait(forskill) 
    eating()
  until uo.SkillVal('Hiding') == 1000
UO.DeleteJournal() 
  repeat 
    UO.UseSkill('Stealth')
    wait(forskill)
      if uo.InJournal(waiting) then
        forskill = forskill + 500
      end if
    wait(forskill) 
    eating()
  until uo.SkillVal('Stealth') == 1000
end sub 

sub eating()
var w = 750
var food='0x09D1'
var i
if uo.InJournal('You are hungry') then 
for i = 0 to 10 
uo.findtype('food',-1,'backpack') 
uo.UseObject('food') 
wait(w)
i = i + 1
next
endif 
uo.DeleteJournal() 
end sub

sub CheckLag() 
if uo.injournal("World is saving now...") then 
repeat 
wait(50) 
until uo.injournal("World save") 
end if 
uo.Click('backpack') 
repeat 
wait(50) 
until uo.InJournal("backpack") 
end sub


Ну чтож, опубликовано. Жду критиков если удостоин ))

Posted: 2006-03-09 00:37:35
by Edred
Обрати внимание, у тебя получился длинющий скрипт с кучей повторений однотипных блоков. Гораздо стройней и логичней будет если ты уберешь все эти блоки и заменишь их просто вызовами подфункции, в которую параметрами будешь передавать то, что является отличием этих блоков друг от друга. Смотри, вот один из твоих блоков:

Code: Select all

repeat 
    UO.UseSkill('Detect Hidden') 
    wait(forskill) 
      if uo.InJournal(waiting) then 
        forskill = forskill + 500 
      end if 
    wait(forskill) 
    eating() 
  until uo.SkillVal('Detect Hidden') == 1000
Вбей в начало скрипта массив названий скиллов, типа:

Code: Select all

DIM Skills[10]
Skill[0] = 'Detect Hidden'
...
Вбей в начало определение переменных:

Code: Select all

VAR i, TmpStr
Далее, все эти блоки выкинь, а напиши маленький цикл for:

Code: Select all

for i=0 To 9
   TmpStr = Skill[i]
   UpOneSkill( TmpStr, forskill, waiting )
next
Ну и добавь в конец скрипта эту функцию:

Code: Select all

Sub UpOneSkill( s1, i1, s2 )
	repeat 
		UO.UseSkill( s1 ) 
		wait( i1 ) 
		if uo.InJournal( s2 ) then 
			i1 = i1 + 500 
		end if 
		wait( i1 ) 
		eating() 
	until uo.SkillVal( s1 ) == 1000
endsub
ЗЫ: Я просто переписал кусок твоего скрипта, не вдумываясь в логику самого скрипта. Хотя сразу вижу что ты не чистишь журнал перед использованием скилла, соответственно, проверка сообщения может легко ловить предыдущее сообщение, кроме того смущает меня это самое увеличение пауз, что-то тут нелогично. Сам посчитай, вот он у тебя первый раз подождал 2000 мс, потом попытался использовать скилл, снова подождал 2000 мс, потом определил что было сообщение о необходимости ждать (но зачем мы ждали 2 сек прежде чем это узнать?), далее переменная увеличилась на 500 мс, и мы тутже снова ждем 2500 мс. Переменная не обнуляется, поэтому в следующем исполнении цикла мы уже сразу ждем 2500 мс... Как ты думаешь, сколько у тебя будет ждать скрипт после 1000 циклов? Или 1000 ловли сообщений waiting? (1000*500 + 2000 = 8,3 мин). А после 10000 попыток?

Posted: 2006-03-09 00:43:40
by Edred
Я уж не говорю о том, что просто не знаю как у вас на шарде качаются все эти скиллы. У нас Детект хайда качается на расхайдивании другого чара - если ты просто запустишь такой скрипт у нас на шарде - будешь ждать прокачки год - вероятность того, что кто-то будет рядом хайдиться очень мала. Поэтому скрипт на прокачку этого скилла пишется на двух чаров - один хайдится, другой расхайдивает. Стелс качается в хождении, соответственно скрипт должен перемещать чара. И т.д.

Posted: 2006-03-09 07:08:53
by Scripts Writer
ЖжЖжЖёстко. но на мой век скрипта хватит, кому уже нуно будет, тот исправит ;)))


правда перед одним скилом и другим forskill надо сводить к 1500 . а делит журнала у меня в чек лаге находится(или в еде)

Posted: 2006-03-09 17:12:53
by Scripts Writer
в процессе 4 ый урок. к вечеру надеюсь закончить :-\