В преддверии нового года.. (рисуем ёлку в клиенте)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

В преддверии нового года.. (рисуем ёлку в клиенте)

Post by Mihail »

Сделал скрипт который "рисует" у вас в клиенте Новогоднюю Наряженную елку.. - делал под оском поэтому на других шардах половина предметов работать не будет - но настройка легкая - сможете нарядить как хотите..

Code: Select all

###########################
# New Year 2007 ###########
# 21.12.2006    #  Mihail #
###########################


var crash = 0 ; если крашит, или слабая машина поставьте 1

var snow = 1 ; если нужно рисовать снег (в радиусе 3 тайлов) - 1

########################################################################
# Для запуска скрипта запустите функцию ng                             #
# Для того чтобы очистить нарисованную графику запустите функцию clear #
########################################################################

sub clear()
uo.mfgi('clear')
end sub

sub ng()
#Mihail
var i, t
uo.mfgi('clear')
wait(100)
var x=uo.getx('self')
var y=uo.gety('self')
var z=uo.getz('self')
Dim a[12]
#a[0]='[type] [color] [x] [y] [z] [name]' ; x, y, z - относительно вас, в формате: [+\ -] [numb] [numb] (к примеру: 00, 09, 99 и т.д.)
a[0]='0x0CD6 0x0000 +00 +00 +00 Christmas Three'
a[1]='0x0CD7 0x0000 +00 +00 +00 Christmas Three'
a[2]='0x232A 0x0000 +00 +01 +00 a present'
a[3]='0x2328 0x0000 +01 -02 +00 a snowman'
a[4]='0x0A15 0x0486 +00 +00 +00 Christmas Lathern'
a[5]='0x2D52 0x0000 +01 +01 +18 a miracle'
a[6]='0x186E 0x0000 +01 +00 +18 a toy'
a[7]='0x0A15 0x048C +00 +02 +18 Christmas Lathern'
a[8]='0x37C4 0x0446 +00 +00 +26 Star'
a[9]='0x186F 0x0000 +01 +02 +43 a toy'
a[10]='0x186B 0x0000 +01 +03 +24 a toy'
a[11]='0x1089 0x0424 +00 +01 +24 a toy'
if crash==1 then
t=2000
uo.print('working.. wait 22 sec')
else
t=50
end if
for i=0 to 11
uo.mfgi('add',Left(a[i],6),x+val(Mid(a[i],14,3)),y+val(Mid(a[i],18,3)),z+val(Mid(a[i],22,3)),Mid(a[i],7,6),Right(a[i],len(a[i])-26))
wait(t)
next
if crash==1 then
uo.print('Christmas Three - DONE')
end if
if snow==1 then
snow()
else
uo.charprint('0x0021','С наступающим Вас!')
end if
end sub

sub snow()
uo.exec('set gdislower 10')
wait(100)
var i, j, t
var x=uo.getx('self')
var y=uo.gety('self')
if crash==1 then
t=1000
uo.print('please wait several minutes')
else
t=100
end if
for i=x-2 to x+2
for j=y-2 to y+2
uo.mfgi('add','0x17BD',i,j,0,'0x0000','snow')
wait(t)
next
next
for i=x-2 to x+2
uo.mfgi('add','0x17C9',i,y+3,0,'0x0000','snow')
wait(t)
uo.mfgi('add','0x17CB',i,y-3,0,'0x0000','snow')
wait(t)
next
for j=y-2 to y+2
uo.mfgi('add','0x17CC',x+3,j,0,'0x0000','snow')
wait(t)
uo.mfgi('add','0x17CA',x-3,j,0,'0x0000','snow')
wait(t)
next
uo.mfgi('add','0x17C5',x-3,y-3,0,'0x0000','snow')
wait(t)
uo.mfgi('add','0x17C8',x-3,y+3,0,'0x0000','snow')
wait(t)
uo.mfgi('add','0x17C6',x+3,y-3,0,'0x0000','snow')
wait(t)
uo.mfgi('add','0x17C7',x+3,y+3,0,'0x0000','snow')
wait(t)
uo.exec('set gdislower 0')
uo.charprint('0x0021','С наступающим Вас!')
end sub


на Оскоме приводитк виду
Image
-
edit вспомнил про тег
Last edited by Mihail on 2006-12-22 18:21:08, edited 1 time in total.
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Сомнительное развлечение, так как никто кроме себя это не увидит ;) Вот есиб в реале на серв можно было рисовать %)
DerMeister сейчас на нейрале!
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

на НГ скрин мона сделать :)
на крыше ББ такую воткнуть и сфоткаться :)
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Post by GAUHAR »

Mihail с наступающим тебя Новым Годом.
Елка Супер, хотя я и не с Оскома и вашего снеговика не видел.
Пусть этого никто кроме себя и не увидит,
но получать подарки так приятно.
А эта елочка и есть подарок.
Но хватит лирики. У меня возникла пробемка "Runtime error" в строке:
uo.mfgi('add',Left(a[i],6),x+val(Mid(a[i],14,3)),y+val(Mid(a[i],18,3)),z+val(Mid(a[i],22,3)),Mid(a[i],7,6),Right(a[i],len(a[i])-26))
"Но мы не привыкли отступать, орешек нам поможер расколоть..." анализ кода и эксперимент. Короче говоря не знаю я почему, но ошибка возникла при индексе массива равного 0, тоесть при FOR i=0, а при FOR i=1 все заработало.
Отсюда у меня возник вопрос: А почему это так?

Ниже кусок кода из функции ng(), который заработал у меня (оставленны оригинальные типы и цвета).

Code: Select all

   Dim a[13]
   #a[0]='[type] [color] [x] [y] [z] [name]' ; x, y, z - относительно вас, в формате: [+\ -] [numb] [numb] (к примеру: 00, 09, 99 и т.д.)
   a[0]=''
   a[1]='0x0CD6 0x0000 +00 +00 +00 Christmas Three'
   a[2]='0x0CD7 0x0000 +00 +00 +00 Christmas Three'
   a[3]='0x232A 0x0000 +00 +01 +00 a present'
   a[4]='0x2328 0x0000 +01 -02 +00 a snowman'
   a[5]='0x0A15 0x0486 +00 +00 +00 Christmas Lathern'
   a[6]='0x2D52 0x0000 +01 +01 +18 a miracle'
   a[7]='0x186E 0x0000 +01 +00 +18 a toy'
   a[8]='0x0A15 0x048C +00 +02 +18 Christmas Lathern'
   a[9]='0x37C4 0x0446 +00 +00 +26 Star'
   a[10]='0x186F 0x0000 +01 +02 +43 a toy'
   a[11]='0x186B 0x0000 +01 +03 +24 a toy'
   a[12]='0x1089 0x0424 +00 +01 +24 a toy'
   if crash==1 then
      t=2000
      uo.print('working.. wait 22 sec')
    else
      t=50
   endif
   for i=1 to 12
      uo.mfgi('add',Left(a[i],6),x+val(Mid(a[i],14,3)),y+val(Mid(a[i],18,3)),z+val(Mid(a[i],22,3)),Mid(a[i],7,6),Right(a[i],len(a[i])-26))
      wait(t)
   next
Post Reply