* Косметические изменения
* текст теперь забивается в массив в 1 строчку с условным разделителем...
===============================================
Code: Select all
var Chest='0x4004428A'
sub Fan()
var Anekdot=0, Stix=0, Text_1=50, Text_2=30, Check, ID_Player
var Anekdot_Max=Server('info_anekdot',0), Stix_Max=Server('info_stix',0)
var Message="Расскажу за инги\руду\армор: Объявление - 8 шт, Анекдот - 4 шт, Стишок - 3 шт, Расписание Турнира - 2 шт, Время - 1 шт."
UO.Set('grabdelay','500')
UO.Ignore(Chest)
REPEAT
If UO.Journal('0')=="status" and Text_2 >= 30 Then
UO.FontColor('0x0025')
UO.Msg("Последние обновление(10.09.05), След. Анек("+str(Anekdot)+"), След Стих("+str(Stix)+")")
Text_2 = 0
Else
Text_2 = Text_2+1
If Text_2 > 35 Then
Text_2 = 30
End If
End If
If Text_1 >= 50 Then ; 54 = (27 sec)
;UO.FontColor('0x0064')
;UO.Msg("AUTO-SYSTEM")
;Wait(1000)
UO.FontColor('0x0385')
UO.Msg(Message)
Text_1 = 0
Else
Text_1 = Text_1+1
End If
If UO.TradeCount() Then
UO.FontColor('0x0064')
Search('Preview')
UO.Msg("Жми галочку...")
REPEAT
Wait(500)
Until UO.TradeCheck('n','right','1') or UO.TradeCount()==0
If UO.TradeCount() Then
ID_Player = UO.TradeOpponent('n')
UO.TradeCheck('n','left',1)
Wait(2500)
REPEAT
Check=Search('All')
If Check<>0 Then
If Check==1 Then
Server('time_now',0)
Else
If Check==2 Then
UO.FontColor('0x0025')
UO.Msg("Р А С П И С А Н И Е")
Wait(2500)
Server('turnir_now',0)
Else
If Check==3 Then
Stix = Stix+1
If Stix > Stix_Max Then
Stix = 1
End If
UO.FontColor('0x0025')
UO.Msg("С Т И Ш О К ("+str(Stix)+".)")
Wait(2500)
Server('stix',Stix)
Else
If Check==4 Then
Anekdot = Anekdot+1
If Anekdot > Anekdot_Max Then
Anekdot = 1
End If
UO.FontColor('0x0025')
UO.Msg("А Н Е К Д О Т ("+str(Anekdot)+".)")
Wait(2500)
Server('anekdot',Anekdot)
Else
If Check==5 Then
UO.FontColor('0x0025')
UO.Msg("ОБЪЯВЛЕНИЕ")
Wait(2500)
Declaration(ID_Player)
Else
If Check==6 Then
UO.FontColor('0x0385')
UO.Msg("БОЛЬШОЕ СПАСИБО !!!")
End If
End If
End If
End If
End If
End If
End If
Until Check==0
Search('Drop')
Text_1 = 14
End If
End If
Wait(500)
Until UO.Dead()
end sub
Sub Search(Mode)
var Color, Select
;==================================================================
; И Т Е М Ы Д Л Я П Е Р Е Б О Р А!
;------------------------------------------------------------------
Dim Items[15]
Items[0] = 14
Items[1] = '0x1412' ; Plate Helm
Items[2] = '0x1413' ; Platemail Gorget
Items[3] = '0x1415' ; Platemail
Items[4] = '0x1411' ; Platemail Legs
Items[5] = '0x1410' ; Platemail Arms
Items[6] = '0x1414' ; Platemail Gauntlets
Items[7] = '0x19B7' ; 1 ore
Items[8] = '0x19BA' ; 2 ore
Items[9] = '0x19B8' ; 3 ore
Items[10] = '0x19B9' ; 4 and more ore
Items[11] = '0x1BEF' ; Ingots
Items[12] = '0x0F14' ; Guild Credit
Items[13] = '0x0F29' ; Diamond
Items[14] = '0x1870' ; Silver ball
Dim ColorItems[5]
ColorItems[0] = 4
ColorItems[1] = '0x0486' ; Magma
ColorItems[2] = '0x079E' ; Sandrock
ColorItems[3] = '0x0492' ; Ancient
ColorItems[4] = '0x0495' ; Mystic
If Mode=='Preview' Then
For Color = 1 TO ColorItems[0]
For Select = 1 TO 6
UO.FindType(Items[Select],ColorItems[Color],UO.TradeContainer('right'))
If UO.FindCount() Then
UO.FontColor('0x0064')
If Select==1 Then ; Шлем
UO.Msg("Цена Армора: СТИШОК")
Else
If Select==2 Then ; Горгет
UO.Msg("Цена Армора: РАСПИСАНИЕ")
Else
If Select==3 Then ; Пузо
UO.Msg("Цена Армора: АНЕКДОТ")
Else
If Select==4 Then ; Ноги
UO.Msg("Цена Армора: АНЕКДОТ")
Else
If Select==5 Then ; Рукова
UO.Msg("Цена Армора: АНЕКДОТ")
Else
If Select==6 Then ; Перчатки
UO.Msg("Цена Армора: СТИШОК")
End If
End If
End If
End If
End If
End If
End If
Next
Next
End If
If Mode=='All' Then
For Color = 1 TO ColorItems[0]
For Select = 1 TO 11
UO.FindType(Items[Select],ColorItems[Color],'-1')
If UO.FindCount() Then
If Select==7 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 1
Else
If Select==8 or Select==2 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 2
Else
If Select==1 or Select==6 or Select==9 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 3
Else
If Select==3 or Select==4 or Select==5 or Select==10 Then
If Select==10 and UO.GetQuantity('finditem')>=8 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 5
Else
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 4
End If
Else
If Select==11 Then
If UO.GetQuantity('finditem')==1 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 1
Else
If UO.GetQuantity('finditem')==2 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 2
Else
If UO.GetQuantity('finditem')==3 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 3
Else
If UO.GetQuantity('finditem')==4 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 4
Else
If UO.GetQuantity('finditem')>=10 Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 5
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Next
Next
For Select = 12 TO 14
UO.FindType(Items[Select],'-1','-1')
If UO.FindCount() Then
UO.Forget('finditem')
UO.MoveItem('finditem','all',Chest)
return 6
End If
Next
return 0
End If
If Mode=='Drop' Then
For Select = 7 TO 11
UO.FindType(Items[Select],'0x0000','-1')
If UO.FindCount() Then
UO.Drop('all','0','0','0','finditem')
UO.FontColor('0x0385')
UO.Msg("Хе-Хе-Хе Айрон !!!")
End If
Next
REPEAT
UO.FindType('-1','-1','-1')
If UO.FindCount() Then
UO.Drop('all','0','0','0','finditem')
If UO.InJournal("It doesn't belong to you!") Then
UO.UseObject('finditem')
REPEAT
Wait(500)
Until UO.InJournal("Get off your dirty hands!")
UO.DeleteJournal()
End If
UO.FontColor('0x0385')
UO.Msg("Мусор !!!")
Wait(200)
End If
Until UO.FindCount()==0
End If
end sub
Sub Server(Mode,Select)
var i, pos=0, cut=0, cut_tmp=0, msg_tmp, EOF, TXT, Message=false, Exit=false
var anekdot_end="Хе-хе-хе-хе :)", stix_end="К О Н Е Ц :)",anekdot_time=7000 ,stix_time=4500
;==================================================================
; А Н Е К Д О Т Ы!
;------------------------------------------------------------------
Dim anekdot[21]
anekdot[0] = 20
anekdot[1] = "- Капитан, у нас пробоина ниже ватерлинии!%- Заделать можно?%- Нет!%- Готовьте спасательные шлюпки!%- Капитан, шлюпок нет!%- Готовьте спасательные жилеты!%- Капитан, но он только один!%- Да? - удивляется капитан и после небольших раздумий хватает жилет и прыгает за борт.%- Капитан, капитан, это была шутка, сегодня же первое апреля!%- Блин, что же мы на земле скажем.%- (Вот черт! Какая пробоина, какая ватерлиния?)%- стремительно приближаясь к земле, думал капитан самолета."
anekdot[2] = "Лысый мужчина прихожит в парикмахерскую.%- Чем я могу вам помочь?%- спрашивает его парикмахер.%-Плачу 100$, если вы сделаете так, что моя прическа будет выглядеть как ваша,%и не причините мне при этом никаких неудобств.%- Нет проблем%- отвечает парикмахер и быстро брет себе голову налысо."
anekdot[3] = "Муж с женой, детьми и ТЕШЕЙ в буфете перед большим концертом.%Муж:%- Ну что? Нам со Светкой по бокалу сухонького и по мандаринке.%Детишкам по лимонаду и шоколадке.?%- А маме?%- А маме стакан молочка и огурчик!"
anekdot[4] = "Шла-шла Красная Шапочка по лесу.%Вдруг видит - сидит Серый Волк под деревом.%- Какие у тебя большие глаза, Серый Волк! - сказала Красная Шапочка.%Серый Волк сорвался с места и убежал.%Идёт Красная Шапочка дальше. Перешла ручеек лесной. Вдруг видит%Серый Волк за пеньком притаился.%- Какие у тебя большие уши, Серый Волк! - сказала Красная Шапочка.%А Серый Волк только - зырк! - на Красную Шапочку. И сбежал.%Идёт она дальше. Пробирается через чащобу. Вдруг - глядь!%чащобе под сосенкой Серый Волк сидит.%- Какие у тебя зубищи, Серый Волк! - воскликнула Красная Шапочка.%- Твою мать, ты мне посрать дашь или нет? - спросил Серый Волк"
anekdot[5] = "Осень, холодно, сыро.%аходит в рюмочную оборванный, окоченевший алкаш и просит налить похмелиться.%Буфетчица жалеет его:%- Вы бы себе хоть ботинки новые купили.%- На хр*на, здоровье дороже!"
anekdot[6] = "Просит негр джинна:%- Сделай меня белым, чтобы вокруг было много воды и женщин.%И сделал его джинн унитазом в женском туалете.%Промучился бедолага месяц и опять джинна зовет:%- Все! Опять хочу быть черным!%- Хорошо, - сказал джинн, и отключил воду."
anekdot[7] = "Приходит девушка в автомагазин и спрашивает продавца:%- У вас датчики есть?%- Какие датчики?%- Ну, такие, чтобы когда я в зад давала лампочки загорались..."
anekdot[8] = "Бежит маленькая девочка по полянке, цветочки собирает, песенки поёт:%- Ля-ля-ля-ля... Ой! Тюльпанчик!%Сорвала, бежит дальше.%- Ля-ля-ля-ля... Ой! Незабудочка.%Опять сорвала, бежит дальше.%- Ля-ля-ля-ля... Ой! Камешек! А что под ним?%Поднимает и с жуткой силой бьёт им обратно об землю.%- Фуууууу, бл*дь, ЛЯГУШКА!"
anekdot[9] = "Идет урок украинского языка. Учительница спрашивает детей:%- Дети, как будет на украинском языке слово Замаргать?%Дети хранят молчание. Учитильница спрашевает Вовочку, Вовочка не знает.%Учительница:%- Залупати, Вовочка!%Вовочка:%- Сама ты за*упа!"
anekdot[10] = "Решили поставить черный ящик в Мерседесе...%чтобы узнать, что в различных странах говорят водители непосредственно после аварии.%Англия:%- Oh, my God!!!!!!!!!!%Америка:%- Oh, shit!!!%Россия:%- ВАУ, ПАЦАНЫ!!!! ГЛЯДИТЕ, КАК Я УМЕЮ!!!!!!!!!!!!!!!!!!!!!"
anekdot[11] = "Идет по лесу пьяный бобер. подходит к норе и орет:%- Хуйня!!!%в ответ тишина. он снова:%- Хуйня!!!%в ответ тишина опять. в третий раз он орет:%- Хуйня!!!%из норы высовывает морду выхухоль и говорит:%- Сколько раз тебе говорить, что меня зовут выхухоль!%бобер ей в ответ:%- Стану я всякую хуйню на ВЫ называть!!!"
anekdot[12] = "Заходит древняя старуха в сексшоп. Еле идет, вся трясется.%- У-у в-вас в-виб-б-брат-тор-ры е-есть?%- Есть.%- А д-длин-ной 40см. е-есть?%- Да есть.%- А т-тол-лщин-ной 10см. е-есть?%- Ну есть.%- Тог-гда-ск-каж-жите как е-его в-вык-ключ-чить?"
anekdot[13] = "В казарме:%- Дедушка, меня опять били во сне!%- Это потому, что ты по ночам втихаря жрёшь Растишку..."
anekdot[14] = "Пригребает Вовачка домой и говорит отцу:%- Пап прикинь нам на урок труда училка клей несла разлила и приклеялась.%Отец спрашивает:%- Ну как вы её отодрали.%- Да ученики старших класов аш по два раза!"
anekdot[15] = "Жил-был человек, и у него правый глаз был стеклянный.%Приходит он как-то к окулисту, тот его сажает перед табличкой и говорит:%- Закройте правый глаз!%Человек ему отвечает:%- А у меня правый - стеклянный.%- Ну, тогда закройте левый..."
anekdot[16] = "Решили провести опрос среди студентов.%У американского спрашивают:%- За сколько вы выучите китайский язык и сдадите по нему экзамен?%- Где-то за два года.%Тот же вопрос англчанину:%- Где-то за год.%Спросили у нашего студента. Отвечает:%- Методичка есть? Вот сейчас докурю, и пойдём сдавать."
anekdot[17] = "Идут двое белых полицейских по кварталу, в котором живет белое население.%идят - лежит негр, весь изрешеченный пулями.%Один коп другому:%- Какое жестокое самоубийство!"
anekdot[18] = "Совет астролога:%Уран в восьмом доме - вызывайте МЧС!"
anekdot[19] = "Звонок в справочную сотового оператора:%- Але, девушка, ваша компания ворует деньги.%- Расскажите подробнее, что случилось.%- Вчера вечером проверил баланс, было 10 баксов, выключил телефон,%сегодня утром включаю - на счете 0.%- А вы телефон на ночь ставили на подзарядку?%- Ставил.%- Так это у вас долги за электричество сняли."
anekdot[20] = "Средние века.%Куча народу упала в яму. Сидят, вылезти не могут. Один дед говорит:%- В здешних местах шалит великан-людоед, ловит народ, кого-то трахает и отпускает, а кого-то ест.%Народ всполошился, половина кричат:%- Лучше пускай оттрахает, но живыми останемся! Другая половина:%- Лучше пускай съест, но не потеряем честь и достоинство!%Прибегает великан, носится вокруг ямы и кричит:%- О как много ебды!%Народ обалдел, спрашивают у него:%- А ебда - это что?%Великан почесал голову и отвечает:%- Ну ебда, это которую сначала ебдут, а потом ебдят!!!"
;==================================================================
; С Т И Ш К И!
;------------------------------------------------------------------
Dim stix[12]
stix[0] = 11
stix[1] = "Раз Петрович невзначай%Сунул х*й в английский чай,%Сразу вдруг все стало новым:%Х*й - английским, чай - х*евым"
stix[2] = "Маленький мальчик по стройке гулял,%сверху нечайно топорик упал.%Долго смеялись над шуткою дети,%слева пол-Петии и справа пол-Пети."
stix[3] = "Маленький мальчик на лифте катался,%у лифта нечаянно трос оборвался.%Роется папа в куче костей,%где же ботинки за 30 рублей?"
stix[4] = "Валя,Валя не пизди%на себя ты посмотри%Заросла как обезьяна%ты-б побрила руки в ванной%Есть хорошие средства%Воск, липучка и бритва%Ты побрей их наконец%что-б у всех стоял конец%Ножки тоже ты побрей%что-б платок скользил по ним"
stix[5] = "Маленький мальчик по Тундре гулял,%Нефть или газ откопать он мечтал,%Люди смеялись, кричали (Дебил!)%А мальчик подрос и клуб (Челси) купил."
stix[6] = "Застегни ширинку, охламон,%За тобой следит шпион."
stix[7] = "Если худо организму, применяй товарищ клизму.%Убедись товарищ лично - клизма действует отлично !!!"
stix[8] = "Одни приходят насрать, навонять.%Другие приходят сидеть, размышлять.%А я прихожу сюда яйца чесать,%И всякую гадость на стенах читать."
stix[9] = "Я смотрю в унитаз хохоча:%У меня голубая моча.%И конец у меня голубой,%И вообще я доволен собой!"
stix[10] = "Я достаю из широких штанин%Толстый, как консервная банка%Смотрите, завидуйте я - гражданин,%А не какая-нибудь гражданка!"
stix[11] = "- Я водка - со мной на праздник четко!!!%- Я салат - вашим лицам рад!!!%- Я самогон - иду на обгон!!!%- Я горилка - мозгов дурилка!!!%- А я гашиш -... я слова забыл...."
;==================================================================
; Р А С П И С А Н И Е!
;------------------------------------------------------------------
Dim turnir[2]
turnir[0] = 1
turnir[1] = "09 сентября, 2005 (пятница, 22:00)%Турнир 1х1 по схеме The Next."
UO.FontColor('0x0094')
If Mode=='anekdot' Then
TXT=anekdot[Select]
Else
If Mode=='stix' Then
TXT=stix[Select]
Else
If Mode=='turnir_now' Then
TXT=turnir[1]
Else
If Mode=='time_now' Then
UO.FontColor('0x0025')
UO.Msg("Кстати, текущее время по Москве: "+PrintTime())
return
Else
If Mode=='info_anekdot' Then
return anekdot[0]
Else
If Mode=='info_stix' Then
return stix[0]
End If
End If
End If
End If
End If
End If
EOF=StrLen(TXT)
REPEAT
Message=false
pos=cut
cut_tmp=0
REPEAT
msg_tmp = Mid(TXT, cut, 1)
If msg_tmp<>'%' and cut<>EOF Then
cut=cut+1
cut_tmp=cut_tmp+1
Else
Message=true
If cut==EOF Then
Exit=true
End If
cut=cut+1
End If
Until Message==true or UO.Dead()
UO.Msg(Mid(TXT, pos, cut_tmp))
If Mode=='anekdot' Then
Wait(anekdot_time)
Else
If Mode=='stix' Then
Wait(stix_time)
Else
If Mode=='turnir_now' Then
Wait(4500)
End If
End If
End If
Until Exit==true or UO.Dead()
If Mode=='anekdot' Then
UO.Msg(anekdot_end)
Else
If Mode=='stix' Then
UO.Msg(stix_end)
Else
If Mode=='turnir_now' Then
UO.Msg("Всё...")
End If
End If
End If
end sub
;==================================================================
; Д О С К А О Б Ъ Я В Л Е Н И Й!
;------------------------------------------------------------------
Sub Declaration(ID_Master)
var MSG_NAME, MSG_TMP=0, Time_Off=0, Time_Declaration=0
UO.FontColor('0x0385')
UO.Msg("Введите текст объявления:")
Wait(1000)
UO.FontColor('0x0025')
UO.Msg("Жду 30 секунд...")
UO.DeleteJournal()
REPEAT
If UO.JournalSerial(UO.Journal('0'))==UO.GetSerial(ID_Master) Then
;MSG_TMP = Right(UO.Journal('0'),STRLen(UO.Journal('0'))-STRLen(UO.GetName(ID_Master)))
MSG_TMP = UO.Journal('0')
MSG_NAME = UO.GetName(ID_Master)
End If
Time_Off = Time_Off+1
Wait(250)
Until Time_Off >= 120 or MSG_TMP<>0
UO.DeleteJournal()
If Time_Off < 120 Then
UO.FontColor('0x0385')
UO.Msg("Текст принят! Объявление будет работать 8 мин...")
Wait(1500)
UO.Msg("чтобы снять его наберите off")
Wait(5000)
Time_Off = 0
REPEAT
If Time_Declaration >= 32 Then
UO.FontColor('0x0064')
UO.Msg("ОБЪЯВЛЕНИЕ от "+MSG_NAME+"(а)")
Wait(1000)
UO.FontColor('0x009a')
UO.Msg(MSG_TMP)
Time_Declaration = 0
Else
UO.DeleteJournal()
End If
Time_Declaration = Time_Declaration+1
Time_Off = Time_Off+1
Wait(250)
Until Time_Off >= 1920 or UO.JournalSerial(UO.InJournal("off|OFF|Off")-1)==ID_Master
UO.FontColor('0x0025')
UO.Msg("Время вышло!")
Else
UO.FontColor('0x0025')
UO.Msg("Время вышло!")
End If
end sub
Sub PrintTime()
var HR = ''
var MIN = ''
var SEC = ''
var NewTime, CurrentTime = UO.Time()
If CurrentTime > 99999 Then
HR = Mid(STR(CurrentTime),0,2)
MIN = Mid(STR(CurrentTime),2,2)
SEC = Mid(STR(CurrentTime),4,2)
Else
If CurrentTime > 9999 Then
HR = '0'+Mid(STR(CurrentTime),0,1)
MIN = Mid(STR(CurrentTime),1,2)
SEC = Mid(STR(CurrentTime),3,2)
Else
If CurrentTime > 999 Then
HR = '00'
MIN = Mid(STR(CurrentTime),0,2)
SEC = Mid(STR(CurrentTime),2,2)
Else
If CurrentTime > 99 Then
HR = '00'
MIN = '0'+Mid(STR(CurrentTime),0,1)
SEC = Mid(STR(CurrentTime),1,2)
Else
If CurrentTime > 9 Then
HR = '00'
MIN = '00'
SEC = STR(CurrentTime)
Else
HR = '00'
MIN = '00'
SEC = '0'+STR(CurrentTime)
End If
End If
End If
End If
End If
return (HR+':'+MIN+':'+SEC)
end sub