Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Форум для новичков[JAVA]/[help]npc
Search

[help]npc

10 replies125 viewsCurrently viewing: 1
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/05/2009, 10:48 AM

Сборка: La2base 1.1.7
Краткое изложение СУТИ проблемы: Как сделать НПЦ что бы он забирал например КОЛ и давал другую вещь рандом?
Мои соображения по этому поводу: нету

— Оо

0
P
progamer01

Author

Новичок

Posts: 7

На форуме с: 10/13/2008

Рейтинг: 0

· 04/05/2009, 11:13 AM

_http://zone-game.info/napisanie_gm_shop_na_multisell.html
_http://la2base.ru/forum/index.php?showtopic=16233

вот может поможет... хотя про рандом не уверен....

0
Stanislav
Stanislav

User

Участник

Posts: 44

На форуме с: 02/19/2009

Репутация: +3

Рейтинг: 0

· 04/05/2009, 11:16 AM

Сори шо так не точно но где то здесь был мануал по созданию npc http://la2base.ru/forum/index.php?showforum=156
тебе multisell нужен

=-->Жизнь- это игра. И хотя сюжет в ней отстойный, но графа то кайфовая!!!<--=

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/05/2009, 11:24 AM

Шопы то я умею делать:) но как сделать что бы там рандом вещь кидало


Кстати ищё вопрос,какой sql запрос в базу что бы игроку добавить Итем в инвертарь

— Оо

0
M
Myxaa

User

Участник

Posts: 79

На форуме с: 02/01/2009

Репутация: +8

Рейтинг: 0

· 04/05/2009, 11:29 AM

Могу предложить тебе сделать multisell, что-бы за кол продавалась коробка, а из нее выпадали рэндом итимы (коробки делать тут: ...server\data\extractable_items.csv думаю там разберешься


Как сделать чтоб при двойном клике с какойто вещи что-то рандомом выпадало. По типу рыбок....

На пример разберемся с Мешочками сосок.
Заходим в Gameserver\data
ищем extractable_items.csv и открываем его.
Ищем там там такое

# Greater Compressed SS
5250 1835,1000,100
5251 1463,1000,100
5252 1464,1000,100
5253 1465,1000,100
5254 1466,1000,100
5255 1467,1000,100

Где:

5250 - это ID вещи с которой при двойном нажатии мы чтото получаем
1835 - это ID вещи которую мы получаем
1000 - это количество получаемых вещей
100 - это шанс получения вещи после дабл клика



Вот что прописано в свитках квеста Giants Cave Exploration, Part 1

5944 5922,1,3 5923,1,3 5924,1,3 5925,1,3 5926,1,3 5927,1,3 5928,1,3 5929,1,3 5930,1,3 5931,1,3 5932,1,3 5933,1,3 5934,1,3 5935,1,3 5936,1,3 5937,1,3 5938,1,3 5939,1,3 5940,1,3 5941,1,3 5942,1,20 5943,1,20

Небольшой пример:
Сделаем небольшой Эветн.

Возмем:

15 Year Old Wine - ID 5956 ( Насколько я знаю негде не работают эти бутылки на смытие кармы)
Quicek Healig Potion - ID 1540
Rice Cake - ID 5283
Mana Potion - 728

Заходим в Gameserver\data
ищем extractable_items.csv и открываем его.

Спускаемся в низ
и создаем по аналогии
#15 Year Old Wine Event
5956 1540,1,5 5283,2,20 728,1,5


Закрываем( Сохраняем)
Идем в Gameserver\data\script и открываем любой Эвент, я открыл Медальки и подправил так:

<Event ID="15 Year Old Wine Event" Active="24 Dec 2005-26 Dec 2007">
<Droplist>
<AllDrop Items="5956" Count="1,1" Chance="15%" />
</Droplist>
<Message Type="OnJoin" Msg="15 Year Old Wine Event: You can collect old wine bottles from all mobs and change them for potions!" />
<EventEnd>
<Take From="AllPlayers">
<Item ItemID="5956"></Item>
</Take>
</EventEnd>
</Event>
Закрываем сохраняем и переименовум в OldWine


by lLLITOPMl

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/05/2009, 11:38 AM

C каробками мутарно,нпц лучше..но как? to_become_senile.gif

— Оо

0
M
Myxaa

User

Участник

Posts: 79

На форуме с: 02/01/2009

Репутация: +8

Рейтинг: 0

· 04/05/2009, 11:57 AM

тебе кажется, что мутарно, ты скажи какие итимы должны быть рэндом - замутим тебе коробку)

0
morfeus
morfeus

User

Ветеран

Posts: 608

На форуме с: 10/25/2008

Репутация: +218

Рейтинг: 0

· 04/05/2009, 12:30 PM

а на квестах не вариант?

чтонить наподобие

st.giveItems(4037,1)
Delete_pk = st.getRandom(10 + Pk_remove) + 1
if player.getPkKills() <= Delete_pk :

morfeus: а на квестах не вариант?

чтонить наподобие

st.giveItems(4037,1)
Delete_pk = st.getRandom(10 + Pk_remove) + 1
if player.getPkKills() <= Delete_pk :


херню написал)) тему прочитал неверно
ну да лан мб пригодится

— Perpetuum Mobile

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/05/2009, 01:13 PM

Цитата
Кстати ищё вопрос,какой sql запрос в базу что бы игроку добавить Итем в инвертарь


Может кто знает?

— Оо

0
Евгений
Евгений

User

Бывалый

Posts: 164

На форуме с: 10/06/2009

Репутация: +122

Рейтинг: 0

· 04/09/2009, 08:41 AM

Держи

SQL
INSERT INTO items VALUES (obj_id, 268478886, 4037, 5, 0, "INVENTORY", 0 0, 0, NULL, 0, 0, -1);

Обьясняю:Оbj_id Cмотришь в таблице Characters,
268478886 пиши любой номер тока не повторяйся,
4037 id вещи,5 количество,0 enchant,
INVENTORY-в инвентаре PAPERDOLL-на чаре WAREHOUSE-в вх,
Остальное скока стоит,время использования и тд...
Чтоб добавить всем чарам можно место "obj_id" написать "SELECT obj_id".

0
Войдите или зарегистрируйтесь чтобы ответить