Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ Sphere Server TUS - 0.51 _ Автоматическая телепортация монстра на свой спаун

Автор: Al Gore 24.7.2023, 13:57

Привет! Подскажите, пожалуйста, каким образом можно реализовать автоматическую телепортацию монстра на свой спаун?

Понимаю, что это делается через какие-то линки, но, в скриптинге я не силен. sad.gif Буду рад вашей помощи! tongue.gif

Автор: Al Gore 24.7.2023, 14:11

Пробовал сделать что-то такое через айтем, который висит на НПС, но не получается!!

ONTRIGGER=TIMER
DORAND 1
CONT.GO <SRC.HOME>
ENDDO
TIMER=3
cont.update
src.act.bounce
RETURN 1

Автор: KaPeIkA 24.7.2023, 16:44

Код
[CHARDEF c_guardo_m]
NAME=#NAMES_HUMANMALE The Guard
ID=C_MAN
DAM=60,70
ARMOR=100
CAN=MT_WALK|MT_RUN

ON=@Create
tag.guard=1
COLOR=041e
STR=30000
DEX=200
INT={71 85}
ARCHERY={65.0 88.0}
WRESTLING={35.0 58.0}
MAGICRESISTANCE={50.0 60.0}
TACTICS={75.0 85.0}
NPC=brain_human
KARMA=10000
FAME={1200 3200}
ITEMNEWBIE=i_hair_KRISNA
COLOR=0445
ITEMNEWBIE=i_orderguard_memory
TIMER = 1

ON=@NPCRestock
ITEMNEWBIE=I_LEATHER_TUNIC
COLOR=0445
HITPOINTS=30000
ITEMNEWBIE=i_leather_gloves
COLOR=0445
HITPOINTS=30000
ITEMNEWBIE=i_leather_leggings
COLOR=0445
HITPOINTS=30000
ITEMNEWBIE=i_bow_bladed
COLOR=0445
HITPOINTS=30000
ITEMNEWBIE=i_boots_calf
COLOR=0445
HITPOINTS=30000
ITEMNEWBIE=i_cape
COLOR=0445
HITPOINTS=30000

On=@CLICK
MESSAGE @53 <name> [Guards]
RETURN 1

ON=@PERSONALSPACE
argn1=0

On=@ATTACk
IF (<SRC.TAG0.ALLY>==1)
ATTACKOFF
RETURN 1
ENDIF

ON=@SKILLSTART

IF (<findid.i_orderguard_memory.timer>==-1)
findid.i_orderguard_memory.timer=1
ELIF !(<findid.i_orderguard_memory.uid>)
serv.newitem i_orderguard_memory
new.cont=<uid>
new.timer=1
ENDIF


IF (rand(15)==1)
MASSDISPEL2
ENDIF

IF (rand(15)==1)
MASSDETECTO
ENDIF

IF (<SRC.TAG0.ALLY>==1)
ATTACKOFF
RETURN 1
ENDIF


ON=@HUNGER
GO <HOME>

On=@HITTRY

ACTDIFF=0
ARGN1=7

IF (<REGION.TAG0.GUARD>!=1)
FORCHARMEMORYTYPE 0200
try uid.<link>.timer=1
END
REMOVE
RETURN 1
ENDIF

IF (<SRC.TAG0.ALLY>==1) || (<SRC.NPC>!=0)
ATTACKOFF
RETURN 1
ENDIF

ON=@HIT

KARMA=10000

   if rand(7)==1
    src.combatdamagequip
   endif

    if (<src.flags>&statf_hasshield)                     // rost parry, taktiki
    src.cskillrise parrying
   endif

IF (<VAR0.BDWIN>==2)
tag.damage = <eval ({35 40})> // 75%
ELIF (<VAR0.BDWIN>==3)
tag.damage = <eval ({35 40})> // 75%
ELSE
tag.damage = <eval ({45 50})>
ENDIF


IF (<tag0.damage> < <eval <src.str>/3>)
tag.damage=<eval <src.str>/3>
ENDIF
  
if (<findid.i_home_timer>)
findid.i_home_timer.timer=60
else
serv.newitem i_home_timer
new.cont=<uid>
new.timer=60
endif

src.damage = <eval <tag.damage>>,1,<uid>  
return 1

ON=@SPELLEFFECT
RETURN 1

ON=@GETHIT

IF (<REGION.TAG0.GUARD>!=1)
FORCHARMEMORYTYPE 0200
try uid.<link>.timer=1
END
REMOVE
RETURN 1
ENDIF

IF (<SRC.TAG0.ALLY>==1)
SRC.ATTACKOFF
RETURN 1
ENDIF

RETURN 1

ON=@NPCSEENEWPLAYER
IF (<SRC.TAG0.ALLY>!=1) && (<SRC.ISEVENT.E_COM>)
ATTACK
RETURN 1
ENDIF
RETURN 1

ON=@NPCLookAtChar

IF (<SRC.TAG0.ALLY>!=1) && (<SRC.ISEVENT.E_COM>)
ATTACK
RETURN 1
ENDIF

IF (<isevent.e_com>)
RETURN 1
ENDIF



Вот есть такой гуард

Автор: Sirocco 24.7.2023, 16:50

Мало того что ты промахнулся сферой. Так еще и прислал кучу какого-то левого спама.

Автор: Sirocco 24.7.2023, 17:01

правильно так. но я не уверен, что это будет работать.

Код

ONTRIGGER=TIMER
CONT.GO <CONT.HOME>
TIMER=3
RETURN 1



Если бы это была какая-то другая сфера, можно было бы что-то такое сварганить.
Код

[FUNCTION f_spawn]
FORCHARMEMORYTYPE MEMORY_ISPAWNED
    return <link>
ENDFOR

On=@EnvironChange
p = <uid.<f_spawn>.p>
update

Автор: Al Gore 24.7.2023, 17:10

Цитата(Sirocco @ 24.7.2023, 17:01) *

правильно так. но я не уверен, что это будет работать.

Код

ONTRIGGER=TIMER
CONT.GO <CONT.HOME>
TIMER=3
RETURN 1


Работает, благодарю! Вместо SRC.HOME поставил CONT.HOME. smile.gif

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)