Yoko

All sides of Injection
It is currently 2024-04-18 16:42:41

All times are UTC+02:00




Post new topic  Reply to topic  [ 28 posts ]  Go to page 1 2 Next
Author Message
PostPosted: 2011-08-21 13:26:43 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
Всем привет. Хочу представить вам небольшой, но удобный скрипт для комплексной прокачки боевых навыков.

Пока скрипт очень беден. Нет массы нужных функций, но умеет сверять навык персонажа с указанным, Вами, количеством. Если есть необходимость, скрипт докачивает навык, до необходимого Вам.

Скрипт , по-мере сил и свободного времени, будет дополняться и расширять границы функциональности.

Из-за отсутствия дома на сервере, пока приходится таскать в паке бинты и оружие для прокачки.

Как работает скрипт? Берем двух чаров, один будет качаться, второй стоя с луком в руках(в паке не должно быть стрел), будет терпеть издевательства и унижения)). Первому чару кидаем в пак оружие и бинты. Запускаем SkillCheck(). Скрипт начнет проверять скилы. Если какой-то из скилов меньше 100%, скрипт начнет его докачивать. Как накачает, перейдет к проверке следующего скила и т.д. Либо можно запустить скрипт без проверки навыков, через: FencingTraining(), SwordsmanshipTraining(), MaceFightingTraining(), убрав перед оператором uo.addobject решетку, либо вручную добавив персонажа куклу в список объектов. Когда у куклы остается 1\3 здоровья, основной персонаж начинает его лечить.

В FencingTraining(), SwordsmanshipTraining(), MaceFightingTraining(), вы должны указать тип используемого оружия.

Code:
sub SkillCheck()
   uo.addobject('opponent','0x01E86458') ; <--- Вписать id чара, на котором будем тренироваться.
   uo.print('Запускаем проверку боевых скриптов')
   wait(3000)
   ###################
   ##### Fencing #####
   ###################
   uo.print('Проверяем Fencing')
   wait(3000)
   if uo.skillval('Fencing') < 1000 then
      uo.print('Будем качать Fencing!')
      wait(3000)
      FencingTraining()
   else
      uo.print('Количество навыка Fencing удовлетворяет нашему условию')
      wait(3000)
      uo.print('Переходим к следующему навыку')
      wait(3000)
   endif
   ########################
   ##### Swordmanship #####
   ########################
   uo.print('Проверяем Swordsmanship')
   wait(3000)
   if uo.skillval('Swordsmanship') < 1000 then
      uo.print('Будем качать Swordsmanship!')
      wait(3000)
      SwordsmanshipTraining()
   else
      uo.print('Количество навыка Swordsmanship удовлетворяет нашему условию')
      wait(3000)
      uo.print('Переходим к следующему навыку')
      wait(3000)
   endif
   #########################
   ##### Mace Fighting #####
   #########################
   uo.print('Проверяем Mace Fighting')
   wait(3000)
   if uo.skillval('Mace Fighting') < 1000 then
      uo.print('Будем качать Mace Fighting!')
      wait(3000)
      MaceFightingTraining()
   else
      uo.print('Количество навыка Mace Fighting удовлетворяет нашему условию')
      wait(3000)
      uo.print('Все навыки удовлетворяют нашим условиям!!!')
      wait(3000)
   endif
endsub


sub FencingTraining() #снимает и кидает вар мод, если хп менше заданого (своего или напарника; кол. ХП указываем; таргет на ПРОТИВНИКА ) 
   Var f_weapon = '0x0F51' ; <---  Тип оружия, которым будем бить.
        #uo.addobject('opponent','0x01E86458') ; <--- Вписать id чара, на котором будем тренироваться.
   uo.disarm()
   wait(1000)
   uo.warmode(true)
   uo.attack('opponent')
   repeat
      if UO.objatlayer("Rhand")=="" then ; На случай, если сломается оружие.
         UO.equipt("Rhand",f_weapon)
         wait(600)
      end if                               
      if uo.getHP('opponent') < uo.getMaxHP('opponent')/3 then    #Указываем со скольки ХП(мах)/x НАПАРНИКА мы будем снимать вар(x переменная)
         uo.warmode(false)
         uo.disarm()
         repeat
            uo.deletejournal()
            uo.waittargetobject('opponent')
            uo.usetype('0x0E21')
            repeat
               wait(300)
            until uo.injournal('You could not') or uo.injournal('you have healed')       
         until uo.getHP('opponent') == uo.getMaxHP('opponent') 
         if UO.objatlayer("Rhand")=="" then
            UO.equipt("Rhand",f_weapon)
         end if
         uo.warmode(true)
         uo.attack('opponent')
      endif
      wait(700)
   until uo.dead() or uo.skillval('Fencing') == 1000
   uo.warmode(false)
endsub


sub SwordsmanshipTraining() #снимает и кидает вар мод, если хп менше заданого (своего или напарника; кол. ХП указываем; таргет на ПРОТИВНИКА )
   Var s_weapon = '0x1440' ; <---  Тип оружия, которым будем бить.
        #uo.addobject('opponent','0x01E86458') ; <--- Вписать id чара, на котором будем тренироваться.
   uo.disarm()
   wait(1000)
   uo.warmode(true)
   uo.attack('opponent')
   repeat
      if UO.objatlayer("Rhand")=="" then ; На случай, если сломается оружие.
         UO.equipt("Rhand",s_weapon)
         wait(600)
      end if                             
      if uo.getHP('opponent') < uo.getMaxHP('opponent')/3 then    #Указываем со скольки ХП(мах)/x НАПАРНИКА мы будем снимать вар(x переменная)
         uo.warmode(false)
         uo.disarm()
         repeat
            uo.deletejournal()
            uo.waittargetobject('opponent')
            uo.usetype('0x0E21')
            repeat
               wait(300)
            until uo.injournal('You could not') or uo.injournal('you have healed')       
         until uo.getHP('opponent') == uo.getMaxHP('opponent') 
         if UO.objatlayer("Rhand")=="" then
            UO.equipt("Rhand",s_weapon)
         end if
         uo.warmode(true)
         uo.attack('opponent')
      endif
      wait(700)
   until uo.dead() or uo.skillval('Swordsmanship') == 1000
   uo.warmode(false)
endsub


sub MaceFightingTraining() #снимает и кидает вар мод, если хп менше заданого (своего или напарника; кол. ХП указываем; таргет на ПРОТИВНИКА ) 
   Var m_weapon = '0x13E3' ; <---  Тип оружия, которым будем бить.
        #uo.addobject('opponent','0x01E86458') ; <--- Вписать id чара, на котором будем тренироваться.
   uo.disarm()
   wait(1000)
   uo.warmode(true)
   uo.attack('opponent')
   repeat
      if UO.objatlayer("Rhand")=="" then ; На случай, если сломается оружие.
         UO.equipt("Rhand",m_weapon)
         wait(600)
      end if                             
      if uo.getHP('opponent') < uo.getMaxHP('opponent')/3 then    #Указываем со скольки ХП(мах)/x НАПАРНИКА мы будем снимать вар(x переменная)
         uo.warmode(false)
         uo.disarm()
         repeat
            uo.deletejournal()
            uo.waittargetobject('opponent')
            uo.usetype('0x0E21')
            repeat
               wait(300)
            until uo.injournal('You could not') or uo.injournal('you have healed')       
         until uo.getHP('opponent') == uo.getMaxHP('opponent') 
         if UO.objatlayer("Rhand")=="" then
            UO.equipt("Rhand",m_weapon)
         end if
         uo.warmode(true)
         uo.attack('opponent')
      endif
      wait(700)
   until uo.dead() or uo.skillval('Mace Fighting') == 1000
   uo.warmode(false)
endsub


Основой для скрипта, стал найденный мной скрипт на прокачку хилинга. Автор скрипта мне не известен ((
В ближайших планах, добавить в скрипт прокачку анатомии. А так же есть мысли о реорганизации структуры.
Как только у меня появится дом, сражу допишу добор оружия и бинтов из сундуков. А также, в планах крафт оружия и прочие мелочи, типа еды и т.д.
Скрипт пишется для сервера New Dream World (старейший Одесский сервер). Тестовые персонажи kernel panic и Antares (Анта́рес (α Sco / Альфа Скорпиона) — ярчайшая звезда в созвездии Скорпиона и одна из ярчайших звезд на ночном небе, красный сверхгигант. А то подумаете еще, что у умирающего сервера ник украл :lol:).

Очень надеюсь на критику и указывание недочетов в скрипте.

З.Ы. Если нужно добавить реслинг и арчери, то пишите - добавлю.
З.Ы.Ы Все обновления и исправления будут вноситься в первый пост и датироваться.

Bug Fix:
21.08.11
1)Пофиксил баг с добавлением объекта (противника).

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Last edited by Андрюха из Одессы on 2011-08-21 18:23:48, edited 6 times in total.

Top
   
PostPosted: 2011-08-21 14:19:42 
Offline

Joined: 2009-06-12 20:10:00
Posts: 240
Location: Vasa Smerti(RASToMAN) DRW
а нука скинь сылку


Top
   
PostPosted: 2011-08-21 14:29:42 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
Не хватает конкретики)))
Ссылка на сервер http://www.uo.od.ua
Ссылка на исходник http://stealth.od.ua/forum/viewtopic.php?f=3&t=1165

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2011-08-21 20:52:11 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
На многих серверах оружие ломается даже когда им не ударяешь. Так что второму не плохо бы запустить проверку на одетый лук. Сломается - наваляет боевику с кулака в челюсть.
Можно это все забить в один скрипт с проверкой на скилл/оружие.
А так ничего. Нормальная тема.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-08-21 21:07:50 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
Добор оружия у жертвы будет. Я тоже думал об этом. Для этого, надо потестить скрипт еще на нескольких серверах. В идеале, я вижу его с гуишным меню. В свете последних событий со стелсом, питон будет стоять у многих, так что гуевину на банальном wX я сделаю. Но это будет завершающий этап.

А моя мечта, некое подобие шелла на инжекте, для интерактивности скриптов. Например хилинг по комманде ~heal. Для более удобного, лично для меня, управления скриптами. Но надо еще изучить многопоточность в инжекте.

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2011-08-22 07:51:41 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Честно говоря отстал и не понял.
/me ушел в гости к стелсовикам...

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-08-23 18:29:04 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
На днях думаю немного реструктурировать скрипт. Добавлю проверку лука у куклы, переработаю хилинг (добавлю новые функции), добавлю реслинг и анатомию.

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2011-08-24 08:35:23 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Можно сократить скрипт, сделав один массив из скиллов и типов оружия.
Code:
Dim Skills[3]
  Skills[0] = 'Fencing@0x0F51@'
  Skills[1] = 'Mace Fighting@0x13E3@'
  Skills[2] = 'Swordsmanship@0x1440@'

Доставать слова из строк можно с помощью функции Эдреда GetWord, предварительно слегка модернизировав её, чтобы можно было указать свой разделитель)
Code:
Sub GetWord(str, num, div)
  var tmpst, i, dlin, kol = 0, start = 0
  dlin = len(str)
  For i = 0 to dlin - 1
    If mid(str, i, 1) == div or i == dlin - 1 then
      kol = kol + 1
      If kol == num then
        tmpst = mid(str, start, i - start)
        Return tmpst
       else
        While mid(str, i, 1) == div
          i = i + 1
        Wend
        If kol == num - 1 then
          start = i
        Endif
      Endif
    Endif
  Next
  tmpst = ''
  Return tmpst
Endsub

Это будет выглядеть как-то так
Code:
sub SkillCheck()
...
  For i = 0 to 2
    If UO.SkillVal(GetWord(Skills[i], 1, '@')) < 1000 then
      GetSkill(GetWord(Skills[i], 1, '@'), GetWord(Skills[i], 2, '@'))
    Endif
  Next
...
Endsub

Sub GetSkill(skill, type) ; закидываем туда скилл и тип оружия
  ...
Endsub


Добавить бы wrestling ещё, вижу это только как проверку
Code:
If skill <> 'Wrestling' then
  одевать оружие
Endif


Если бы чар-терпилла тоже работал бы на этом скрипте, то можно было бы качать ещё и парринг.


Top
   
PostPosted: 2011-08-24 09:02:49 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
я качал немного по другому.
2 чара самым слабым оружием (кинжалы, мясные ножи, дубинки) дрались. Одеты в щиты. они делали шаг навстречу друг другу и как здоровье падало расходились. Поодаль стояли 2 сундука где они добирали оружие, щиты, бинты, еду. Качалось весело но опасно, периодически (раз в 4-5 часов) чары дохли и приходилось их ресать.

Знакомый качал на животном - 2 чара, у одного притамлен конь которому говорят "all stop" и постоянно подлечивают.
Дофига флуда и палева :)

Так что вариант с луками является более безопасным и более гринписовским. :mrgreen:

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2011-08-24 09:47:16 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
В чем смысл данного скрипта? Почему, он пишется?

Данный скрипт, я задумываю как легкую прокачку боевых скилов, не имея дома, сундуков с кучами бинтов, стрел и т.д. Человек регает 2х акков на сервере (в идеале шахтера и лесоруба). Тратит 1 час времени на сбор айрона и дерева, потом еще пол часа режет овец или собирает хлопок, для переработки в бинты. Еще немного времени для крафта оружия и можно запускать скрипт.

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2011-08-26 19:39:28 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
!

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Last edited by Андрюха из Одессы on 2014-03-05 16:15:12, edited 1 time in total.

Top
   
PostPosted: 2011-11-28 03:10:40 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Навеяло побаловаться с гетвордом. Нет возможности проверить работоспособность, так что на свой страх и риск
Code:
;Скрипт на прокачку боевых навыков ближнего боя =)
;Запускать следует, когда в паке полно всяких палок-ковырялок, и когда между двумя чарами хотя бы один тайл(лучше 2)
;Строки массива 1-Скилл, 2-тип для правой руки, 3-тип для левой руки
;Разделитель слов - запятая + пробел. После последнего в строке слова обязательно должен стоять разделитель
;DelJournal - Дестракшена, GetWord - Эдреда

sub CombatSkills()
  var i, x = UO.GetX(), y = UO.GetY()
  Dim Skill[6]
    Skill[0] = 'Swordsmanship, 0x1234, 0x1234, '
    Skill[1] = 'Mace Fighting, 0x1234, 0x1234, '
    Skill[2] = 'Fencing, 0x1234, 0x1234, '
    Skill[3] = 'Wrestling, 0, 0x1234, '
    Skill[4] = 'Parrying, 0, 0x1234, '
    Skill[5] = 'Tactics, 0, 0x1234, '
  If UO.Targeting() then
    UO.CancelTarget()
  Endif
  UO.AddObject('obj_Doll')
  While UO.Targeting()
    Wait(100)
  Wend
  For i = 0 to 5
    SkillUp(GetWord(Skill[i], 1, ', '), GetWord(Skill[i], 2, ', '), GetWord(Skill[i], 3, ', '), x, y)
  Next
Endsub

Sub SkillUp(Skill, Rhand, Lhand, x, y)
  var moveDelay = 1100
  While UO.SkillVal(Skill, 1) < 1000
    Healing()
    If Rhand and Rhand <> UO.GetGraphic(UO.ObjAtLayer('Rhand')) then
      If UO.Count(Rhand) then
        CheckLag()
        UO.Equipt('Rhand', Rhand)
        Wait(moveDelay)
       else
        Return
      Endif
    Endif
    If not Rhand and UO.ObjAtLayer('Rhand') then
      CheckLag()
      UO.UnEquip('Rhand')
      Wait(moveDelay)
    Endif
    If Lhand and UO.SkillVal('Parrying', 1) < 1000 and Lhand <> UO.GetGraphic(UO.ObjAtLayer('Lhand')) then
      CheckLag()
      UO.Equipt('Lhand', Lhand)
      Wait(moveDelay)
    Endif
    If not Lhand and UO.ObjAtLayer('Lhand') then
      CheckLag()
      UO.UnEquip('Lhand')
      Wait(moveDelay)
    Endif
    UO.WarMode(1)
    UO.Attack('obj_Doll')
    If UO.GetDistance('obj_Doll') >= 2 then
      Step(FindDirection(UO.GetX('obj_Doll'), UO.GetY('obj_Doll')))
    Endif
    Repeat
      Wait(100)
    Until UO.GetHP() <= UO.GetMaxHP() / 4 or UO.GetHP('obj_Doll') <= UO.GetMaxHP('obj_Doll') / 4
    If UO.GetDistance('obj_Doll') <= 2 then
      Step(FindDirection(x, y))
    Endif
  Wend
Endsub

sub Healing()
  var t_Bandage = '0x0E21', msg = ' apply| put the bloody', Timer, Delay = 10
  While UO.Life < UO.Str
    If UO.Count(t_Bandage) > 0 then
      Timer = UO.Timer()
      DelJournal(msg)
      UO.WaitTargetObject('self')
      UO.UseType(t_Bandage) 
      Repeat
        Wait(100)
      Until UO.InJournal(msg) or Timer + Delay * 10 <= UO.Timer()
     else
      Wait(100)
    Endif
  Wend
Endsub

Sub GetWord(str, num, div)
  var tmpst, i, dlin, kol = 0, start = 0
  dlin = len(str)
  For i = 0 to dlin - 1
    If mid(str, i, 1) == div or i == dlin - 1 then
      kol = kol + 1
      If kol == num then
        tmpst = mid(str, start, i - start)
        Return tmpst
       else
        While mid(str, i, 1) == div
          i = i + 1
        Wend
        If kol == num - 1 then
          start = i
        Endif
      Endif
    Endif
  Next
  tmpst = ''
  Return tmpst
Endsub

Sub CheckLag()
  DelJournal('ackpack')
  UO.Click('backpack')
  While not UO.InJournal('ackpack')
    Wait(100)
  Wend
Endsub

Sub DelJournal(msg)
  While UO.InJournal(msg)
    UO.SetJournalLine(UO.InJournal(msg) - 1, '')
  Wend
Endsub

Sub FindDirection(x, y)
  If x == UO.GetX() and y == UO.GetY() then
    Return 0
  Endif
  If x == UO.GetX() and y < UO.GetY() then
    Return 1
  Endif
  If x > UO.GetX() and y < UO.GetY() then
    Return 2
  Endif
  If x > UO.GetX() and y == UO.GetY() then
    Return 3
  Endif
  If x > UO.GetX() and y > UO.GetY() then
    Return 4
  Endif
  If x == UO.GetX() and y > UO.GetY() then
    Return 5
  Endif
  If x < UO.GetX() and y > UO.GetY() then
    Return 6
  Endif
  If x < UO.GetX() and y == UO.GetY() then
    Return 7
  Endif
  If x < UO.GetX() and y < UO.GetY() then
    Return 8
  Endif
Endsub

Sub Step(dir)
  var Pause = 500
  Dim Key[8]
    Key[1] = 33
    Key[2] = 39
    Key[3] = 34
    Key[4] = 40
    Key[5] = 35
    Key[6] = 37
    Key[7] = 36
    Key[8] = 38
  If dir <> 0 then
    If dir - 1 <> UO.GetDir() then
      UO.Press(Key[dir])
      Wait(Pause)
    Endif
    UO.Press(Key[dir])
    Wait(Pause)
  Endif
Endsub 


Last edited by ZeroDX on 2011-11-28 03:30:05, edited 1 time in total.

Top
   
PostPosted: 2011-11-28 03:28:12 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
Надеюсь автор будет продолжать работу над своим скриптом.


Top
   
PostPosted: 2012-01-13 07:47:19 
Offline
Expert!
User avatar

Joined: 2006-02-07 08:51:40
Posts: 1348
Location: г. Старый Оскол
Можно поступить гораздо проще... и не нужно писать для каждого боевого скилла процедуру...

Для этого достаточно, просто перед тем как одевать оружие, проверять значения боевых скиллов, начиная от сворды, и одевать нужное оружие когда прокачал до ГМ текущий скилл. Если все 4 боевых ГМ, то выход.

Пример из моего скрипта на прокачку боевых для Стелса, работает как часы, качаю 4го перса.

Code:
...
if (GetSkillValue('Swordsmanship') <> 100) then
    begin
      weapon := w_cleaver;
    end;
  if (GetSkillValue('Swordsmanship') = 100) AND (GetSkillValue('Fencing') <> 100) then
    begin
      weapon := w_dagger;
    end;
...


Top
   
PostPosted: 2012-01-14 01:04:07 
Offline

Joined: 2005-04-19 18:00:29
Posts: 2259
Location: Московская область
Kynep wrote:
Можно поступить гораздо проще... и не нужно писать для каждого боевого скилла процедуру...

Для этого достаточно, просто перед тем как одевать оружие, проверять значения боевых скиллов, начиная от сворды, и одевать нужное оружие когда прокачал до ГМ текущий скилл. Если все 4 боевых ГМ, то выход.

Пример из моего скрипта на прокачку боевых для Стелса, работает как часы, качаю 4го перса.

Code:
...
if (GetSkillValue('Swordsmanship') <> 100) then
    begin
      weapon := w_cleaver;
    end;
  if (GetSkillValue('Swordsmanship') = 100) AND (GetSkillValue('Fencing') <> 100) then
    begin
      weapon := w_dagger;
    end;
...


Я тебе больше скажу, не нужно 4 конструкции с if в твоём коде, достаточно массив объектов {'скил', 'тип_итема'} :)


Top
   
PostPosted: 2012-02-27 13:02:39 
Offline
User avatar

Joined: 2009-03-21 10:03:06
Posts: 164
Location: Одесса-Мама
Засранец я, забил толком не начав.
Если найду сервер, допишу скрипт.
Спасибо за исправления)

_________________
Спасибо всем, у кого учился!

Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!


Top
   
PostPosted: 2012-03-04 15:34:02 
Offline

Joined: 2012-03-04 15:27:59
Posts: 17
Хороший шард Дрв
можно ли этот скрипт в доработанном варианте на прокачку боевых скилов где то взять :)
Спасибо.


Top
   
PostPosted: 2012-03-04 21:26:19 
Offline
User avatar

Joined: 2006-12-08 10:51:50
Posts: 718
Location: Москва
а что такое "доработанный вариант"?


Top
   
PostPosted: 2012-03-05 12:15:54 
Offline

Joined: 2012-03-04 15:27:59
Posts: 17
Андрюха из Одессы wrote:
Если найду сервер, допишу скрипт.

наверно я не так сказал, дописанный, окончательный вариант :?:


Top
   
PostPosted: 2012-03-05 12:20:43 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
а что с вариантом который выше?

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 28 posts ]  Go to page 1 2 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 34 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited