Помощь - Поиск - Пользователи - Календарь
Полная версия: Event Portal
UoKit.com Форумы > Ultima Online : Dev > Sphere Server > Архив готовых скриптов
d`ArcZeal
Помощник для проведения различных мероприятий.

Частенько игрокам не нравится заходить на мероприятие синим или будучи лордом, а выходить красным и без известности. Этот портал фиксит и другие недоработки. Заодно пусет только голышом (легко убирается).

Код

//****************Всё в банк ! коня не удаляет !***************
[FUNCTION EVENTPORTAL_ALL_TO_BANK]
IF (<src.findlayer(21).fcount> >= 0) || (<weight> > 60)
       var.pack = <findlayer(21).uid>
       findlayer(layer_hand1).cont = <findlayer(21).uid>
       findlayer(layer_hand2).cont = <findlayer(21).uid>
       findlayer(layer_shoes).cont = <findlayer(21).uid>
       findlayer(layer_pants).cont = <findlayer(21).uid>
       findlayer(layer_shirt).cont = <findlayer(21).uid>
       findlayer(layer_helm).cont = <findlayer(21).uid>
       findlayer(layer_gloves).cont = <findlayer(21).uid>
       findlayer(layer_ring).cont = <findlayer(21).uid>
       findlayer(layer_collar).cont = <findlayer(21).uid>
       findlayer(layer_half_apron).cont = <findlayer(21).uid>
       findlayer(layer_chest).cont = <findlayer(21).uid>
       findlayer(layer_wrist).cont = <findlayer(21).uid>
       findlayer(layer_tunic).cont = <findlayer(21).uid>
       findlayer(layer_ears).cont = <findlayer(21).uid>
       findlayer(layer_arms).cont = <findlayer(21).uid>
       findlayer(layer_cape).cont = <findlayer(21).uid>
       findlayer(layer_legs).cont = <findlayer(21).uid>
       findlayer(layer_skirt).cont = <findlayer(21).uid>
       findlayer(layer_robe).cont = <findlayer(21).uid>
       findlayer(layer_dragging).cont = <findlayer(21).uid>
       var.packcol=<findlayer(21).color>
       findlayer(layer_pack).attr = 0
     IF (0<var.col> == 01)
          findlayer(layer_pack).name = Backpack
          findlayer(layer_pack).color=0000
          var.col=
     ELSE
          findlayer(layer_pack).name = Backpack
          findlayer(layer_pack).color=0000
     ENDIF
        findlayer(layer_pack).cont = <findlayer(layer_bankbox).uid>
        newitem=i_backpack
       new.color=<var.packcol>
       new.equip
       update
       SRC.sysmessage @0487 Все Ваши вещи переместились в Ваш личный сундук.
       RETURN 1
ELSE
       SRC.sysmessage @0487 У Вас ничего нету чтобы переместить в банк.
       RETURN 0
ENDIF

//***********************ВХОД**********************************
[ITEMDEF i_event_portal_1]
DEFNAME=i_eventportal_1
NAME=VHOD
ID=i_moongate_black

ON=@Create
Color=0483
ATTR=010

ON=@Click
MESSAGE @0487 Мистический портал
RETURN 1

ON=@step
IF !(<SRC.NPC>==0)
    RETURN 1
ELSE
ENDIF
IF (<eval <SRC.FINDLAYER.25.UID>> >= 1)
    SRC.sysmessage @0487 Портал не обладает достаточной силой для перемещения ездового животного.
    RETURN 1
ELSE
    SRC.EVENTPORTAL_ALL_TO_BANK
    SRC.TAG.NAME_EVENT=<SRC.NAME>
    SRC.TAG.KARMA_EVENT=<SRC.KARMA>
    SRC.TAG.FAME_EVENT=<SRC.FAME>
    SRC.TAG.KILLS_EVENT=<SRC.KILLS>
    SRC.TAG.SKINCOLOR_EVENT=<SRC.COLOR>
    SRC.TAG.OSKINCOLOR_EVENT=<SRC.OSKIN>
    SRC.TAG.BODY_EVENT=<SRC.BODY>
    SRC.TAG.OBODY_EVENT=<SRC.OBODY>
    SRC.p 2,3,4
    src.update
   RETURN 1
ENDIF

//***********************ВЫХОД*********************************
[ITEMDEF i_event_portal_2]
DEFNAME=i_eventportal_2
NAME=VIHOD
ID=i_moongate_black

ON=@Create
Color=0483
ATTR=010

ON=@Click
MESSAGE @0487 Мистический портал
RETURN 1

ON=@step
IF !(<SRC.NPC>==0)
    RETURN 1
ELSE
ENDIF
IF (<eval <SRC.FINDLAYER.25.UID>> >= 1)
    SRC.sysmessage @0487 Портал не обладает достаточной силой для перемещения ездового животного.
    RETURN 1
ELSE

SRC.FINDLAYER(1).UNEQUIP //  items from characters right hand!
SRC.FINDLAYER(2).UNEQUIP //  items from characters left hand!
SRC.FINDLAYER(3).UNEQUIP // Removes footwear from character
SRC.FINDLAYER(4).UNEQUIP // Removes pants from character
SRC.FINDLAYER(5).UNEQUIP // Removes shirts from character
SRC.FINDLAYER(6).UNEQUIP // Removes hats/helmets from characters
SRC.FINDLAYER(7).UNEQUIP // Removes Gloves/Gauntlets from characters
SRC.FINDLAYER(8).UNEQUIP // Removes Rings from Characters
SRC.FINDLAYER(10).UNEQUIP // Removes Necklaces/Gauntlets from character
SRC.FINDLAYER(12).UNEQUIP // Unequip Half Apron
SRC.FINDLAYER(13).UNEQUIP // Removes Breastplate
SRC.FINDLAYER(14).UNEQUIP // Removes Bracelet
SRC.FINDLAYER(17).UNEQUIP // Removes Surcoat/Tunic/Doublet/etc...
SRC.FINDLAYER(18).UNEQUIP // Removes Earrings
SRC.FINDLAYER(19).UNEQUIP // Removes Armor Arms
SRC.FINDLAYER(20).UNEQUIP // Removes Cloak
SRC.FINDLAYER(22).UNEQUIP // Removes Robes/Dresses
SRC.FINDLAYER(23).UNEQUIP // Removes Kilts / Skirts
SRC.FINDLAYER(24).UNEQUIP // Removes Armor Legs
SRC.findlayer.layer_dragging.UNEQUIP //On mouse
SRC.UP
findlayer(layer_pack).UNEQUIP

    SRC.NAME=<SRC.TAG.NAME_EVENT>
    SRC.KARMA=<SRC.TAG.KARMA_EVENT>
    SRC.FAME=<SRC.TAG.FAME_EVENT>
    SRC.KILLS=<SRC.TAG.KILLS_EVENT>
    SRC.COLOR=<SRC.TAG.SKINCOLOR_EVENT>
    SRC.OSKIN=<SRC.TAG.OSKINCOLOR_EVENT>
    SRC.BODY=<SRC.TAG.BODY_EVENT>
    SRC.OBODY=<SRC.TAG.OBODY_EVENT>
    SRC.TAG.NAME_EVENT=
    SRC.TAG.KARMA_EVENT=
    SRC.TAG.FAME_EVENT=
    SRC.TAG.KILLS_EVENT=
    SRC.TAG.SKINCOLOR_EVENT=
    SRC.TAG.OSKINCOLOR_EVENT=
    SRC.TAG.BODY_EVENT=
    SRC.TAG.OBODY_EVENT=
    SRC.p 1,2,3
    src.update
   RETURN 1
ENDIF

[EoF]
-=JoKeR=-
Могу конечно сам зделать, но вспомнил, что ты выложил готовый.
Большое спасибо !
Пригодилось smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.