Помощь - Поиск - Пользователи - Календарь
Полная версия: Кли Лок
UoKit.com Форумы > Ultima Online : Dev > Sphere Server > Архив готовых скриптов
KonstantiN
Код
 
[typedef t_armor]
on=@clienttooltip
  local.one = "1042971, <name>"
  local.two = "Armor "
  if <layer> == layer_helm
    local.two .= "(Head)<def.BR>"
    local.armoury = <eval (<armor.high> * 10) / 100>
  elseif <layer> == layer_collar
    local.two .= "(Neck)<def.BR>"
    local.armoury = <eval (<armor.high> * 5) / 100>
  elseif (<layer> == layer_shirt) || (<layer> == layer_chest) || (<layer> == layer_tunic)
    local.two .= "(Chest)<def.BR>"
    local.armoury = <eval (<armor.high> * 40) / 100>
  elseif <layer> == layer_cape
    local.two .= "(Back, Arms)<def.BR>"
    local.armoury = <eval (<armor.high> * 20) / 100>
  elseif <layer> == layer_robe
    local.two .= "(Chest, Back, Arms, Legs)<def.BR>"
    local.armoury = <eval (<armor.high> * 70) / 100>
  elseif <layer> == layer_arms
    local.two .= "(Arms)<def.BR>"
    local.armoury = <eval (<armor.high> * 10) / 100>
  elseif <layer> == layer_gloves
    local.two .= "(Hands)<def.BR>"
    local.armoury = <eval (<armor.high> * 10) / 100>
  elseif (<layer> == LAYER_PANTS) || (<layer> == LAYER_SKIRT) || (<layer> == LAYER_HALF_APRON)
    local.two .= "(Legs)<def.BR>"
    local.armoury = <eval (<armor.high> * 20) / 100>
  elseif <layer> == layer_legs
    local.two .= "(Legs, Feet)<def.BR>"
    local.armoury = <eval (<armor.high> * 25) / 100>
  elseif <layer> == layer_shoes
    local.two .= "(Feet)<def.BR>"
    local.armoury = <eval (<armor.high> * 5) / 100>
  elseif <layer> == layer_hand2
    local.two .= "(Shield)<def.BR>"
    local.armoury = <eval (<armor.high> * 50) / 100>
  else
    local.two .= "<def.BR>"
  endif

  // collect data
  local.quality = <eval (<more1L> * 100) / <more1H>>
  local.weight  = <weight>
  local.value   = <eval (<value.high> + <value.low>) / 2>

  if <topobj.uid> == <src.uid> // I wear this item
    if (<eval rand(500)> < <src.armslore>) || <src.isgm>
      local.two .= "Quality: <eval <more1L>> / <eval <more1H>><def.BR>"
      local.two .= "Armor: <dlocal.armoury><def.br>"
      local.two .= "Weight: <dlocal.weight><def.br>"
      local.two .= "Value: <dlocal.value>"
    else
      local.two .= "Quality: <dlocal.quality> percent <def.BR>"
    endif
  else
    if (<eval rand(900)> < <src.armslore>) || <src.isgm>
      local.two .= "Quality: <eval <more1L>> / <eval <more1H>><def.BR>"
      local.two .= "Armor: <dlocal.armoury><def.br>"
      local.two .= "Weight: <dlocal.weight><def.br>"
      local.two .= "Value: <dlocal.value>"
    else
      local.two .= "Quality: <dlocal.quality> percent <def.BR>"
    endif
  endif
  src.addcliloc <local.one>
  src.addcliloc 1070722, <local.two>
  return 1

[typedef t_armor_leather]
on=@clienttooltip
  local.one = "1042971, <name>"
  local.two = "Leather Armor "
  if <layer> == layer_helm
    local.two .= "(Head)<def.BR>"
    local.armoury = <eval (<armor.high> * 10) / 100>
  elseif <layer> == layer_collar
    local.two .= "(Neck)<def.BR>"
    local.armoury = <eval (<armor.high> * 5) / 100>
  elseif (<layer> == layer_shirt) || (<layer> == layer_chest) || (<layer> == layer_tunic)
    local.two .= "(Chest)<def.BR>"
    local.armoury = <eval (<armor.high> * 40) / 100>
  elseif <layer> == layer_cape
    local.two .= "(Back, Arms)<def.BR>"
    local.armoury = <eval (<armor.high> * 20) / 100>
  elseif <layer> == layer_robe
    local.two .= "(Chest, Back, Arms, Legs)<def.BR>"
    local.armoury = <eval (<armor.high> * 70) / 100>
  elseif <layer> == layer_arms
    local.two .= "(Arms)<def.BR>"
    local.armoury = <eval (<armor.high> * 10) / 100>
  elseif <layer> == layer_gloves
    local.two .= "(Hands)<def.BR>"
    local.armoury = <eval (<armor.high> * 10) / 100>
  elseif (<layer> == LAYER_PANTS) || (<layer> == LAYER_SKIRT) || (<layer> == LAYER_HALF_APRON)
    local.two .= "(Legs)<def.BR>"
    local.armoury = <eval (<armor.high> * 20) / 100>
  elseif <layer> == layer_legs
    local.two .= "(Legs, Feet)<def.BR>"
    local.armoury = <eval (<armor.high> * 25) / 100>
  elseif <layer> == layer_shoes
    local.two .= "(Feet)<def.BR>"
    local.armoury = <eval (<armor.high> * 5) / 100>
  elseif <layer> == layer_hand2
    local.two .= "(Shield)<def.BR>"
    local.armoury = <eval (<armor.high> * 50) / 100>
  else
    local.two .= "<def.BR>"
  endif

  // collect data
  local.quality = <eval (<more1L> * 100) / <more1H>>
  local.weight  = <weight>
  local.value   = <eval (<value.high> + <value.low>) / 2>

  if <topobj.uid> == <src.uid> // I wear this item
    if (<eval rand(500)> < <src.armslore>) || <src.isgm>
      local.two .= "Quality: <eval <more1L>> / <eval <more1H>><def.BR>"
      local.two .= "Armor: <dlocal.armoury><def.br>"
      local.two .= "Weight: <dlocal.weight><def.br>"
      local.two .= "Value: <dlocal.value>"
    else
      local.two .= "Quality: <dlocal.quality> percent <def.BR>"
    endif
  else
    if (<eval rand(900)> < <src.armslore>) || <src.isgm>
      local.two .= "Quality: <eval <more1L>> / <eval <more1H>><def.BR>"
      local.two .= "Armor: <dlocal.armoury><def.br>"
      local.two .= "Weight: <dlocal.weight><def.br>"
      local.two .= "Value: <dlocal.value>"
    else
      local.two .= "Quality: <dlocal.quality> percent <def.BR>"
    endif
  endif
  src.addcliloc <local.one>
  src.addcliloc 1070722, <local.two>
  return 1
DihlofozzZ
спасибо за наглядный пример работы с клилоком, не знал (точнее не дошел до этого пока) smile.gif
Dante
А можите объяснить в чем тут смысл.. просто охота понять идею...
d`ArcZeal
Кому-то нравится приводимая информация об итеме как в Оси. А кому-то нравится так:

Код

ELSEIF (<ACT.TYPE>==t_shield) || (<ACT.TYPE>==t_armor) || (<ACT.TYPE>==T_ARMOR_LEATHER)
ACT.MESSAGE @0481 <ACT.NAME>
ACT.MESSAGE @0812 Защита <EVAL <ACT.ARMOR>> //<eval <ACT.TAG.ARMOR_LEVEL>>
ACT.MESSAGE @0812 Качество <eval <eval <ACT.hits>*100> /<ACT.maxhits>>%
//ACT.MESSAGE @0812 Цена <ACT.VALUE>
RETURN 1
ELSEIF (<ACT.TYPE>==t_weapon_fence) || (<ACT.TYPE>==T_WEAPON_MACE_STAFF) || (<ACT.TYPE>==T_WEAPON_MACE_CROOK) || (<ACT.TYPE>==T_WEAPON_MACE_PICK) || (<ACT.TYPE>==T_WEAPON_SWORD) || (<ACT.TYPE>==T_WEAPON_XBOW) || (<ACT.TYPE>==T_WEAPON_MACE_SMITH) || (<ACT.TYPE>==T_WEAPON_MACE_SHARP) || (<ACT.TYPE>==T_WEAPON_BOW) || (<ACT.TYPE>==T_WEAPON_AXE)
ACT.MESSAGE @0481 <ACT.NAME>
ACT.MESSAGE @0812 Атака <EVAL <EVAL <ACT.TAG.WDAMAGE>> + <EVAL <ACT.DAM>>>
ACT.MESSAGE @0812 Качество <eval <eval <ACT.hits>*100> /<ACT.maxhits>>%
//ACT.MESSAGE @0812 Цена <ACT.VALUE>
RETURN 1
Discripter
куда это нужно вставить? замучался уже с этим тултипом и новыми мобами
KonstantiN
Сначало его надо включить в сфера ини и вставить в sphere_skills.scp
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.