Вот скрипт:
Код
[ITEMDEF i_stone_duel]
ID=0ed5
DEFNAME=i_stone_duel
NAME=Duel Stone
TYPE=0
ON=@CREATE
COLOR=3
ATTR=08050
SRC.NEWITEM=i_duel_tele
SRC.ACT.LINK=<UID>
SRC.ACT.BOUNCE
VAR.duel_stone_uid=<UID>
VAR.duel_tele_uid=<SRC.ACT.UID>
ON=@DCLICK
IF (<SRC.TARG.DISTANCE> > 3)
SRC.SYSMESSAGE= @050 You can't reach that
RETURN 1
ELSE
IF (<MORE1>==1)
SRC.SYSMESSAGE Arena is busy... Wait please...
SRC.SYSMESSAGE Or find other PvP Dueling stone...
RETURN 1
ELSE
DIALOG d_duel
RETURN 1
ENDIF
RETURN 1
ENDIF
RETURN 1
[ITEMDEF i_duel_memory]
ID=i_memory
TYPE=t_eq_script
NAME=Duel Memory1
ON=@DCLICK
TARGET With whom you want to make the duel?
RETURN 1
ON=@TARGON_ITEM
CONT.SYSMESSAGE It is impossible!
REMOVE
RETURN 1
ON=@TARGON_GROUND
CONT.SYSMESSAGE It is impossible!
REMOVE
RETURN 1
ON=@TARGON_CHAR
IF ((<SRC.TARG.ID>==c_man)||(<SRC.TARG.ID>==c_woman))
IF (<SRC.TARG.UID>==<SRC.UID>)
CONT.SYSMESSAGE It is impossible!
REMOVE
ELSE
VAR.duel_char_uid1=<SRC.UID>
VAR.duel_char_uid2=<SRC.TARG.UID>
VAR.duel_char_name1=<SRC.NAME>
VAR.duel_char_name2=<SRC.TARG.NAME>
SRC.NEWITEM=i_duel_memory_welcome
SRC.TARG.EQUIP=<SRC.ACT.UID>
REMOVE
ENDIF
RETURN 1
ELSE
CONT.SYSMESSAGE You can target to men/women!
REMOVE
RETURN 1
ENDIF
ON=@TIMER
CONT.SYSMESSAGE Your time for choice partner left.
REMOVE
LINK.COLOR=3
RETURN 1
[DIALOG d_duel]
160, 150
resizepic 0 0 3500 340 170
text 95 20 47 0
gumppic 55 23 57
gumppic 272 23 59
button 60 54 1209 1210 1 0 1
text 80 50 50 1
gumppic 90 120 52
text 145 125 0 4
//button 20 90 1209 1210 1 0 1
[DIALOG d_duel TEXT]
Select a kind of a duel.
Duel with loot
BVUO.RU
[DIALOG d_duel BUTTON]
ONBUTTON=1
SRC.NEWITEM=i_duel_memory
SRC.ACT.LINK=<UID>
SRC.ACT.CONT=<SRC.UID>
SRC.ACT.EQUIP=<SRC.UID>
TRYP 0 UID.<VAR.duel_stone_uid>.MOREX=1
SRC.ACT.DCLICK
SRC.ACT.TIMER=5
RETURN 1
ONBUTTON=2
IF (<SRC.WEIGHT><61)
SRC.NEWITEM=i_duel_memory
SRC.ACT.LINK=<UID>
SRC.ACT.CONT=<SRC.UID>
SRC.ACT.EQUIP=<SRC.UID>
TRYP 0 UID.<VAR.duel_stone_uid>.MOREX=2
SRC.ACT.DCLICK
SRC.ACT.TIMER=5
RETURN 1
ELSE
SRC.SYSMESSAGE You must undress fully
SRC.SYSMESSAGE and empty your backpack!
RETURN 1
ENDIF
ONBUTTON=3
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=1
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=0
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=0a12
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0a12
TRYP 0 SRC.FINDLAYER.25.REMOVE
SRC.GO 5467,1190
SRC.EVENTS +e_duel_npc
SRC.NEWNPC=c_h_dreadlord
VAR.duel_char_uid1=<SRC.UID>
VAR.duel_char_uid2=<SRC.ACT.UID>
SRC.ACT.STR=300
SRC.ACT.HITS=300
SRC.ACT.P=5462,1202
SRC.ACT.EVENTS +e_duel_npc
RETURN 1
[ITEMDEF i_duel_memory_welcome]
ID=i_memory
TYPE=t_eq_script
NAME=Duel Memory Welcome
ON=@EQUIP
SRC.DIALOG d_duel_welcome
VAR.duel_memory_welcome=<UID>
[DIALOG d_duel_welcome]
200, 150
nomove
noclose
resizepic 0 0 3500 300 140
text 60 20 47 0
gumppic 20 23 57
gumppic 252 23 59
text 95 55 50 1
gumppic 70 90 52
text 125 95 0 2
button 20 90 2076 2075 1 0 1
button 230 90 2073 2072 1 1 2
[DIALOG d_duel_welcome TEXT]
You was choosen for duel.
({ By <VAR.duel_char_name1>! })
BVUO.RU
[DIALOG d_duel_welcome BUTTON]
ONBUTTON=1
IF (<UID.<VAR.duel_stone_uid>.MOREX>==1)
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=1
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=0
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=0a12
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0a12
TRYP 0 UID.<VAR.duel_char_uid1>.GO=5467,1190
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=+e_duel
TRYP 0 UID.<VAR.duel_char_uid1>.FINDLAYER.25.REMOVE
SRC.EVENTS +e_duel
SRC.GO 5449,1208
SRC.FINDLAYER.25.REMOVE
TRYP 0 UID.<VAR.duel_memory_welcome>.REMOVE
RETURN 1
ELSE
IF (<UID.<VAR.duel_stone_uid>.MOREX>==2)
IF (<SRC.WEIGHT><61)||(<UID.<VAR.duel_char_uid1>.WEIGHT><61)
SRC.SYSMESSAGE sdfsdf
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=+e_duel_loot
TRYP 0 UID.<VAR.duel_char_uid1>.GO=5468,1189
SRC.EVENTS=+e_duel_loot
SRC.GO
ENDIF
RETURN 1
ENDIF
ENDIF
ONBUTTON=2
TRYP 0 UID.<VAR.duel_memory_welcome>.REMOVE
TRYP 0 UID.<VAR.duel_char_uid1>.SYSMESSAGE @025 Your duel was cancled!
RETURN 1
[EVENTS e_duel]
ON=@DEATH
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0482
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=3
SRC.GO 5456,1169
TRYP 0 UID.<VAR.duel_tele_uid>.SAY You WIN! Go to exit!
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=0
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=-e_duel
TRYP 0 UID.<VAR.duel_char_uid2>.EVENTS=-e_duel
VAR.duel_char_uid1=0
VAR.duel_char_uid2=0
ON=@LOGOUT
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0482
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=3
SRC.GO 5456,1169
TRYP 0 UID.<VAR.duel_tele_uid>.SAY You WIN! Go to exit!
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=0
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=-e_duel
TRYP 0 UID.<VAR.duel_char_uid2>.EVENTS=-e_duel
VAR.duel_char_uid1=0
VAR.duel_char_uid2=0
[EVENTS e_duel_loot]
ON=@DEATH
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0482
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=3
TRYP 0 UID.<VAR.duel_char_uid1>.GO=5471,1158
TRYP 0 UID.<VAR.duel_char_uid2>.GO=5471,1158
TRYP 0 UID.<VAR.duel_char_uid1>.SUICIDE
TRYP 0 UID.<VAR.duel_char_uid2>.SUICIDE
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=0
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
IF (<SRC.UID>==<UID.<VAR.duel_char_uid1>>)
TRYP 0 UID.<VAR.duel_char_uid2>.SYSMESSAGE You win!
TRYP 0 UID.<VAR.duel_char_uid2>.SYSMESSAGE congratulations!
ELSE
TRYP 0 UID.<VAR.duel_char_uid1>.SYSMESSAGE You win!
TRYP 0 UID.<VAR.duel_char_uid1>.SYSMESSAGE congratulations!
ENDIF
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=-e_duel_loot
TRYP 0 UID.<VAR.duel_char_uid2>.EVENTS=-e_duel_loot
VAR.duel_char_uid1=0
VAR.duel_char_uid2=0
ON=@LOGOUT
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0482
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=3
TRYP 0 UID.<VAR.duel_char_uid1>.GO=5471,1158
TRYP 0 UID.<VAR.duel_char_uid2>.GO=5471,1158
TRYP 0 UID.<VAR.duel_char_uid1>.SUICIDE
TRYP 0 UID.<VAR.duel_char_uid2>.SUICIDE
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=0
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
IF (<SRC.UID>==<UID.<VAR.duel_char_uid1>>)
TRYP 0 UID.<VAR.duel_char_uid2>.SYSMESSAGE You win!
TRYP 0 UID.<VAR.duel_char_uid2>.SYSMESSAGE congratulations!
ELSE
TRYP 0 UID.<VAR.duel_char_uid1>.SYSMESSAGE You win!
TRYP 0 UID.<VAR.duel_char_uid1>.SYSMESSAGE congratulations!
ENDIF
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=-e_duel_loot
TRYP 0 UID.<VAR.duel_char_uid2>.EVENTS=-e_duel_loot
VAR.duel_char_uid1=0
VAR.duel_char_uid2=0
[EVENTS e_duel_npc]
ON=@DEATH
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0482
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=3
SRC.GO 5478,1169
TRYP 0 UID.<VAR.duel_tele_uid>.SAY You WIN! Go to exit!
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=0
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=-e_duel_npc
TRYP 0 UID.<VAR.duel_char_uid2>.REMOVE
ON=@LOGOUT
TRYP 0 UID.<VAR.duel_tele_uid>.COLOR=0482
TRYP 0 UID.<VAR.duel_stone_uid>.COLOR=3
VAR.duel_char_uid1=0
VAR.duel_char_uid2=0
SRC.GO 5478,1169
TRYP 0 UID.<VAR.duel_tele_uid>.SAY You WIN! Go to exit!
TRYP 0 UID.<VAR.duel_stone_uid>.MORE1=0
TRYP 0 UID.<VAR.duel_stone_uid>.MORE2=1
TRYP 0 UID.<VAR.duel_char_uid1>.EVENTS=-e_duel_npc
TRYP 0 UID.<VAR.duel_char_uid2>.REMOVE
[ITEMDEF i_duel_tele]
ID=i_rune_alchem_5
DEFNAME=i_duel_tele
NAME=Duel Tele
TYPE=0
ON=@CREATE
ATTR=08050
TIMER=-1
MOREP=5456,1169
ON=@STEP
IF (<LINK.MORE2>==1)
SRC.GO <MOREP>
RETURN 1
ENDIF
[ITEMDEF i_duel_tele_loot]
ID=i_rune_alchem_5
DEFNAME=i_duel_loot
NAME=Duel Tele Loot
TYPE=0
ON=@CREATE
ATTR=08050
TIMER=-1
MOREP=5456,1169
ON=@STEP
IF ((<SRC.ID>==c_ghost_man) || (<SRC.ID>==c_ghost_woman))
SRC.GO 1384,1036,7,2
RETURN 1
ENDIF
[ITEMDEF i_duel_equipper_blue]
ID=i_rune_alchem_2
DEFNAME=i_duel_equipper_blue
NAME=Duel Equipper Blue
TYPE=0
ON=@CREATE
COLOR=4
ATTR=08050
TIMER=-1
MOREP=5456,1169
проблема в том, что 1) после победы труп кидает в отдельную комнату, а победитель остается на месте 2) позже вспомню))