Смотри как мы решили эту проблему. Есть захаркоденная часть,
которая идет сразу в футере NPC указанном в events.propetries
XML:
# L2-Day l2day la2day#
# Настройка шансов, буквы, дропа и награды gameserver\data\events\l2day
L2DAY_LETTER_NPC_ID = 13230
В нем можно использовать как раз уже готовый HTML под выдачу приза, например у нас вот так:
HTML:
<html>
<title>L2 Day Event</title>
<body>
<center>
<table width=160>
<tr>
<td width=32><img src="icon.abc_l" width=32 height=32></td>
<td width=32><img src="icon.abc_2" width=32 height=32></td>
<td width=32><img src="icon.abc_d" width=32 height=32></td>
<td width=32><img src="icon.abc_a" width=32 height=32></td>
<td width=32><img src="icon.abc_y" width=32 height=32></td>
</tr>
<tr>
<td width=32><img src="icon.abc_e" width=32 height=32></td>
<td width=32><img src="icon.abc_v" width=32 height=32></td>
<td width=32><img src="icon.abc_e" width=32 height=32></td>
<td width=32><img src="icon.abc_n" width=32 height=32></td>
<td width=32><img src="icon.abc_t" width=32 height=32></td>
</tr>
</table></center><br>
<img src="L2UI.SquareWhite" width=280 height=1><br>
[npc_%objectId%_Multisell 3123001|Я нашел пустую гласную букву!]<br1>
[npc_%objectId%_Multisell 3123002|Я нашел пустую согласную букву!]<br1>
[npc_%objectId%_Multisell 3123003|Я нашел пустую цифру!]<br1>
[npc_%objectId%_Multisell 3123004|Я нашел пустой символ!]
<img src="L2UI.SquareWhite" width=280 height=1><br>
<center>Пулл слов на сегодня:</body>
самое главное после тега </body> не ставить тег </html> иначе не будет выпадаюшего списка букв из файла
../events/l2day/l2day_words.xml
А вот уже описание евента, список призов за буквы и прочее HTML-1-2-3-4-5-6 уже привязали к отдельному NPC
в нашем случае это стандартный кот 31230.htm (и у него уже 31230-1.htm 31230-2.htm 31230-3.htm итп сколько надо для описания евента)
соспавнили рядом с тем кто выдает призы.
вот код нашего 31230
HTML:
<html>
<title>L2 Day Event</title>
<body>
<center>
<table width=160>
<tr>
<td width=32><img src="icon.abc_l" width=32 height=32></td>
<td width=32><img src="icon.abc_2" width=32 height=32></td>
<td width=32><img src="icon.abc_d" width=32 height=32></td>
<td width=32><img src="icon.abc_a" width=32 height=32></td>
<td width=32><img src="icon.abc_y" width=32 height=32></td>
</tr>
<tr>
<td width=32><img src="icon.abc_e" width=32 height=32></td>
<td width=32><img src="icon.abc_v" width=32 height=32></td>
<td width=32><img src="icon.abc_e" width=32 height=32></td>
<td width=32><img src="icon.abc_n" width=32 height=32></td>
<td width=32><img src="icon.abc_t" width=32 height=32></td>
</tr>
</table></center><br>
Привет! Давненько не обновляли такой интересный квест. Но теперь, все по-другому, абсолютно.<br1>
Теперь с монстров можно выбить<br1>весь алфавит: <font color=LEVEL>от A до Z</font>.<br1>
Но и это еще не все! Есть еще цифры от <font color=LEVEL>0 до 9</font>,<br1> а также символы: <font color=LEVEL>! ? - ][</font> <br1>
Вам нужно будет собрать разные <font color=LEVEL>новые слова</font>.<br1>
Ежедневно фразы будут обновляться!<br>
<CENTER>
<button value="Обменять" action="bypass -h npc_%objectId%_Chat 10" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"><br1>
</CENTER><br>
Помните, что на процент выпадания вещи влияет разница уровня вашего игрока и убиваемого монстра.
<br>
<a action="bypass -h npc_%objectId%_Chat 1">Просмотреть весь пулл возможных фраз</a><br1>
<a action="bypass -h npc_%objectId%_Chat 2">Полные правила Евента</a><br1>
</body>
</html>
И двумя NPC решается проблема захаркода со строчками .
Результат в самой игре как выглядит.
View attachment 5647View attachment 5648