Привет! Подскажите, пожалуйста, каким образом можно реализовать автоматическую телепортацию монстра на свой спаун?
Понимаю, что это делается через какие-то линки, но, в скриптинге я не силен. Буду рад вашей помощи!
Пробовал сделать что-то такое через айтем, который висит на НПС, но не получается!!
ONTRIGGER=TIMER
DORAND 1
CONT.GO <SRC.HOME>
ENDDO
TIMER=3
cont.update
src.act.bounce
RETURN 1
[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
Мало того что ты промахнулся сферой. Так еще и прислал кучу какого-то левого спама.
правильно так. но я не уверен, что это будет работать.
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
ONTRIGGER=TIMER
CONT.GO <CONT.HOME>
TIMER=3
RETURN 1
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)