Как реализовать обмен.

 
+
-
edit
 

MyckaT

новичок
Например мне нужно чтобы трейдер (или кто-нить еще) мог менять (в данном случае камешки синие красные зеленые - на старинные адены). И вообще как реализовать обмен?
Линейка - зло, злая игра, затянет - ХАНА!  

Drac

разработчик l2j-сервера

Forth или Jython в руки и вперед...

Хотя сейчас все можно сделать на Мультиселле.

Примеры обменов есть и в самом датапаке СФ, что на Jython , что на Multisell.
 
+
-
edit
 

LuciferX

втянувшийся
На мультиселл гораздо быстрее новичку набросать ;)
Владение русским языком как боевое искусство: настоящие мастера не используют без необходимости.  
+
-
edit
 
Простой обмен делается просто

code text
  1. <?xml version='1.0' encoding='utf-8'?>
  2.  
  3. <!-- 5006 Exchange SealStones -> AA -->
  4.  
  5. <list>
  6.   <config>
  7.     <set showall="true" />
  8.   </config>
  9.  
  10.   <item>
  11.     <ingredient id="6360" count="1" enchant="0"/>
  12.     <production id="5575" count="3" enchant="0"/>
  13.   </item>
  14.  
  15.   <item>
  16.     <ingredient id="6361" count="1" enchant="0"/>
  17.     <production id="5575" count="5" enchant="0"/>
  18.   </item>
  19.  
  20.   <item>
  21.     <ingredient id="6362" count="1" enchant="0"/>
  22.     <production id="5575" count="10" enchant="0"/>
  23.   </item>
  24. </list>
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

Diamond

втянувшийся

Вот так на форте:

code text
  1. : npc-12260-dialog-append
  2.         '<br>' .
  3.         '<a action="bypass -h jbf_seal_change">Обменять печати на адену</a>' .
  4. ;
  5. forth:: bypass_seal_change
  6.         6360 items# dup 6360 items_remove 3 * 5575 items_add
  7.         6361 items# dup 6361 items_remove 5 * 5575 items_add
  8.         6362 items# dup 6362 items_remove 10 * 5575 items_add
  9. ;
 
Это сообщение редактировалось 04.07.2006 в 23:41

T@T@p

новичок
<?xml version='1.0' encoding='utf-8'?>



<list>


<item id="1">
<ingredient id="6360" count="5" enchant="0"/>
<production id="5575" count="15000" enchant="0"/>
</item>


<item id="2">
<ingredient id="6360" count="10" enchant="0"/>
<production id="5575" count="20000" enchant="0"/>
</item>


<item id="3">
<ingredient id="6360" count="15" enchant="0"/>
<production id="5575" count="25000" enchant="0"/>
</item>


<item id="4">
<ingredient id="6360" count="20" enchant="0"/>
<production id="5575" count="30000" enchant="0"/>
</item>


<item id="5">
<ingredient id="6361" count="4000" enchant="0"/>
<production id="5575" count="2000" enchant="0"/>
</item>


<item id="6">
<ingredient id="6361" count="5000" enchant="0"/>
<production id="5575" count="2500" enchant="0"/>
</item>


<item id="7">
<ingredient id="6361" count="8000" enchant="0"/>
<production id="5575" count="4000" enchant="0"/>
</item>


<item id="8">
<ingredient id="6361" count="10000" enchant="0"/>
<production id="5575" count="7000" enchant="0"/>
</item>


<item id="9">
<ingredient id="6361" count="20000" enchant="0"/>
<production id="5575" count="10000" enchant="0"/>
</item>


<item id="10">
<ingredient id="6361" count="30000" enchant="0"/>
<production id="5575" count="15000" enchant="0"/>
</item>


<item id="11">
<ingredient id="6361" count="40000" enchant="0"/>
<production id="5575" count="25000" enchant="0"/>
</item>


<item id="12">
<ingredient id="6361" count="50000" enchant="0"/>
<production id="5575" count="30000" enchant="0"/>
</item>


<item id="13">
<ingredient id="6362" count="50" enchant="0"/>
<production id="5575" count="2000" enchant="0"/>
</item>


<item id="14">
<ingredient id="6362" count="100" enchant="0"/>
<production id="5575" count="50000" enchant="0"/>
</item>


<item id="15">
<ingredient id="6362" count="150" enchant="0"/>
<production id="5575" count="10000" enchant="0"/>
</item>


<item id="16">
<ingredient id="6362" count="200" enchant="0"/>
<production id="5575" count="30000" enchant="0"/>
</item>


<item id="17">
<ingredient id="6362" count="300" enchant="0"/>
<production id="5575" count="40000" enchant="0"/>
</item>


<item id="18">
<ingredient id="6362" count="400" enchant="0"/>
<production id="5575" count="50000" enchant="0"/>
</item>


<item id="19">
<ingredient id="6362" count="500" enchant="0"/>
<production id="5575" count="55000" enchant="0"/>
</item>

</list>

 
+
-
edit
 
И нафига такое o_O там же количество вводится.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  
+
-
edit
 

URANUS

втянувшийся
Изврат ))
[center][i]...истина, где-то рядом...  
+
-
edit
 

MyckaT

новичок
Гм а в каком это файле писать? Я тока-тока со скилами разобрался ))
Подскажите плз.
Линейка - зло, злая игра, затянет - ХАНА!  
+
-
edit
 

URANUS

втянувшийся
gameserverdatamultisellномер_обменника.xml
[center][i]...истина, где-то рядом...  
+
-
edit
 

Diamond

втянувшийся

И нафига менять адены по частям? Ведь всегда нужно поменять сразу все.
Выложенный мною код нужно прописать в файл: /data/jbforth/seal/main.f
И прописать в файле /data/jbforth/main.f где-нибудь в серединке строчку seal/main.f
Ну и заспаунить нпц 12260
Только сохрани файл в utf-8 или напиши слова "обменять печати на адену" по английски.
 
+
-
edit
 

MyckaT

новичок
И нафига менять адены по частям? Ведь всегда нужно поменять сразу все.
Выложенный мною код нужно прописать в файл: /data/jbforth/seal/main.f
И прописать в файле /data/jbforth/main.f где-нибудь в серединке строчку seal/main.f
Ну и заспаунить нпц 12260
Только сохрани файл в utf-8 или напиши слова "обменять печати на адену" по английски.
 

Огромное спасибки. Щас попробую .... хм когда серв разбанит наш админ. ))
Линейка - зло, злая игра, затянет - ХАНА!  
+
-
edit
 

MyckaT

новичок
И нафига менять адены по частям? Ведь всегда нужно поменять сразу все.
Выложенный мною код нужно прописать в файл: /data/jbforth/seal/main.f
И прописать в файле /data/jbforth/main.f где-нибудь в серединке строчку seal/main.f
Ну и заспаунить нпц 12260
Только сохрани файл в utf-8 или напиши слова "обменять печати на адену" по английски.
 


а ниче если у меня даже нема папки seal. как я понял ее можно самому создать? т.е. я создаю папку хоть с названием trans и в ней файлик trade.f, в него запихнуть твой код, и подключить этот файлик в /data/jbforth/main.f .???
а где подключать - пофиг?
листинг:
jbf
constants

l2j

effects
games/CurrentEvent
service
proof

admin
users
npc/main
engine

skills
actions

events

disablers

l2j/jbf-load-end

false to event?
0 value name

"JBForth loaded successfull!" .

skills-reload
Линейка - зло, злая игра, затянет - ХАНА!  
+
-
edit
 

MyckaT

новичок
Писец не прет. Не работает обмен ???
MegaWolf сделал как ты писал - не прет (((
у трейдера не добавляется менюшка
Напиши код еще раз и поподробнее... (а то там и : и левые символы)
Линейка - зло, злая игра, затянет - ХАНА!  
+
-
edit
 

Diamond

втянувшийся

Глянь сначало какие ошибки в логах выдает. И проверь, подключился ли файл. Если подключился - то диалог должен добавиться полюбому.
Строчку seal/main.f (ну или так как ты эту папку обозвал) нужно добавить например после слова engine.

ps: код что я приводил отобразился верно, только в конце почему-то добавилось /code его убери, глюк форума.
 
+
-
edit
 
+
-
edit
 

MyckaT

новичок
Вот готовый :)
 

Писец какой-то с этими 7-ю печатями.
Линейка - зло, злая игра, затянет - ХАНА!  

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru