1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. TheMazzahaka
    В Java,как и в любом языке программирования существуют переменные. Переменная-Выделяющийся в процессе работы приложения блок памяти. Рассмотрим как объявить переменную: int MyFirstVariable; Приведённая выше запись,говорит о том что была создана переменная численного типа с именем MyFirstVariable; Разные типы,могут хранить разные данные. Приведу небольшие описания основных типов с которыми вам предстоит работать: String String- тип данных в котором может храниться только информация заключённая в ковычки ("This is Java!") int int-тип данных в котором могут храниться только Целые числа. Пример целых чисел:2,33,76,27. Char char-тип данных в котором может храниться информация заключённая в одинарные ковычки ('A') и длинной не более 1 символа! Boolean Boolean-тип данных который может хранить лишь 2 значения,либо TRUE либо FALSE (регистр не важен) Float Float-тип данных который может хранить числа с плавающей запятой. Пример числа с плавующей запятой:1.23,7.54,75.4 Double Double-тип данных сходственный с Float,отличие состоит в том что под него выделяется в 2 раза больше памяти нежеле для Float,следует использовать для максимальной точности чисел с плавающей запятой. Вот с этими типами нам в большенстве случаев и придёться работать.(Новые типы будут определяеться по мере прохождения материала) А теперь разберём и узнаем что из себя представляют идентификаторы! Идентификатор-уникальное название которое присваивается переменной.Пара правил какие идентификаторы нужно использовать: 1.Название переменной(идентификатор) должен быть читабельным!В больших проектах непонятные названия могут усложнить процесс программирования. 2.Название переменной(идентификатор) не может начинаться с цифр. 3.Если название переменной(идентификатор) состоит из 2-ух слов и более,не нужно разделять их знаками "_",лучше для этого каждую часть слова начинать с большой буквы! Переменные в Java чувствительны к регистру! Давайте объявим нашу первую переменную и выведем её значение. String yourname;//действие 1 yourname="Your Name";//действие 2 System.out.print(yourname);//действие 3 Описание действий: Действие 1:Объявляем переменную типа string с идентификатором yourname Действие 2:Присваиваем символом "=" переменной yourname значение Your Name Действие 3:Выводим на экран содержимое переменной. ВАЖНО! Да,в действии 1 и 2 мы выполнили создание и присвоение,но можно значительно упростить данное действие! Вместо: String yourname;//действие 1 yourname="Your Name";//действие 2 Сделать так: String yourname="Your Name"; Значительно проще,неправда ли? Во втором случае мы определяем переменную yourname и сразу же присваиваем ей значение Your Name. Lesson №2 End.
    Автор темы: TheMazzahaka, 22 фев 2011, ответов - 3, в разделе: Уроки
  2. TheMazzahaka
    Сегодня я помогу вам написать приложение "Hello World". Hello World-традиционно первое приложение которое создавал наверно каждый программист. IDE:Так как я являюсь пользователем linux то выбрал для себя NetBeans,вы же можете выбрать одну из этих ничего от этого не изменится. Создайте проект в вашей IDE и замените код из Main класса на этот: public class Main { //Класс Main-Сердце программы public static void main(String[] args) { //Метод Инициализации приложения,всё что написано ниже и есть программе System.out.print("Hello World!");//Метод вывода текста } } Код в JAVA чувствителен к регистру! Выглядеть будет примерно так: [img] Нажимаем F5\Run и вуаля,в поле "Вывод" появится наш текст.Приложение Готово! Описание действий: public class Main { //Класс Main-Сердце программы 1.Это класс main,сердце любой написанной программы. public static void main(String[] args) { //Метод Инициализации приложения,всё что написано ниже и есть программе 2.Это метод main,выполняет инициализацию приложения,всё что внутри квадратных скобок в нашем случаее и есть приложение. System.out.print("Hello World!");//Метод вывода текста 3.Метод вывода информации,в нашем случае вывод строки(string). *Замечание: знак переноса \n работает,но только в консольных приложениях. Все вопросы,проблемы с установкой IDE оставляем тут. Замечания по текстам сюда же. Lesson №1 "Hello World" End
    Автор темы: TheMazzahaka, 19 фев 2011, ответов - 0, в разделе: Уроки
  3. TheMazzahaka
    Тема

    [Link's]Java IDE

    Список IDE для Java: Eclipse Плюсы: 1.Неплохой редактор кода 2.Кроссплатформенность 3.Open Sources Минусы: 1.Туговато с GUI,VE мало пригоден для создания форм. 2.Бывают проблемы с загрузкой дополнительных модулей Ссылка на проект NetBeans Плюсы: 1.Великолепный редактор кода с динамической системой обнаружения ошибок 2.Поддержка Русского языка (кудаже без него :unsure: ) 3.С GUI всё в полном порядке,есть встроенный редактор форм 4.Кроссплатформенность 5.Open Sources Минусы: Не обнаружено Ссылка на проект IntelliJ IDEA Community Edition Плюсы: 1.Неплохой редактор кода с автодополнением. 2.Широкий набор инструментов для рефакторинга 3.Ориентирован на оптимальную проивоздительность труда. Минусы 1.Не имеет всех возможностей Ultimate Edition (впринципе на то она и комьюнити) Ссылка на проект JBuilder Платная IDE для Java,во многом похожа на Rad Studio.Составить список плюсов\минусов этой IDE на данный момент не могу. Ссылка на проект Тема будет дополняться.
    Автор темы: TheMazzahaka, 19 фев 2011, ответов - 0, в разделе: Java
  4. TheMazzahaka
    Итак дети, что нам понадобится сегодня? Да в принципе как обычно: 1) Руки (желательно прямые) 2) Мозг 3) Aion Extract (скачать можно тут) ну еще и текстовый редактор, по вашему усмотрению, лично я пользовался Notepad++ и простым блокнотом. Начнемс! (Мой гайд текстовый, и без единой картинки поетому приготовьтесь читать)) Редактирование любого магазина состоит из 2-х частей серверная, и клиентская. Мы начнем с серверной. СЕРВЕР Основным файлом для редактирования будет gameserver\data\static_data\goodslists\goodslists. xml Но к нему чуть позже. А сейчас, заходим в игру и ищем того NPC у которого хотим редактировать магазинчики, берем его в таргет и прописываем в чате //info будет выдана полная информация по NPC нас интересует Id: а точнее 6 цифр идущих после этого слова. Записываем или запоминаем, как хотите. Далее, чем угодно, открываем gameserver\data\static_data\npc_trade_list.xml внутри видим: <tradelist_template npc_id="203060" name="mune" count="4"> <tradelist id="129"/> <tradelist id="130"/> <tradelist id="131"/> <tradelist id="450"/> </tradelist_template> Нас интересуют строчки <tradelist id=""/> пробиваем по поиску наш id и должна появиться схожая табличка, запоминаем все находящиеся в нем tradelist id, тобиш эти 3 циферки. Вот теперь идем в gameserver\data\static_data\goodslists\goodslists. xml Открываем, опять же таки чем угодно, и видим: <list id="1"> <item id="169500001"/> <item id="169500002"/> <item id="169500003"/> <item id="169500004"/> <item id="169500005"/> <item id="169500006"/> <item id="169500007"/> </list> Таким образом у нас расписаны все list id, а эти list id не что иное как tradelist id. Пробиваем по поиску записанные ранее 3 циферки tradelist id. Ну и собственно редактируем трейдлист добавляя убирая и изменяя ид предметов. На этом с серверной частью покончено, переходим к самой геморной части процесса. КЛИЕНТ Открываем прогу Aion Extract распаковываем npcs.pak там берем файлик client_npc_goodlist.xml открываем его чем угодно, я юзал Notepad ++. <client_npc_goodslist> <id>1</id> <name>sale_skillbook_warrior_01</name> <desc>STR_SALE_SKILLBOOK</desc> <goods_list> <data> <item>skillbook_wa_p_statboostphysicaldefense_g1</item> </data> <data> <item>skillbook_wa_p_statboostparry_g1</item> </data> <data> <item>skillbook_wa_wa_robustblow_g1</item> </data> <data> <item>skillbook_wa_wa_shieldstance_g1</item> </data> <data> <item>skillbook_wa_wa_armorbreak_g1</item> </data> <data> <item>skillbook_wa_wa_rage_g1</item> </data> <data> <item>skillbook_wa_wa_avengingcrash_g1</item> </data> </goods_list> </client_npc_goodslist> Копипастим <id>1</id> в поиск токо между id вставляем те самые 3 циферки tradelist id Но есть такая заморочка что если в поле <data> <item>абра кадабра</item> <data> вписать тупо ид предмета то он не добавится в шоп, просто не виден будет, даже если ты его на серверной стороне пропишеш... ну так вот вот ету абру кадабру можно узнать в файле client_items.xml, что лежит в items.pak. Что мы делаем дальше? правильно, распаковываем нашей прогой items.pak Далее открываем client_items.xm !блокнотом! другой редактор не потянет поиск, этот самый client_items.xm весит 139 мегов. Блокнотец наш подумает где-то минуту, и откроет заветный файлик. Что мы видим внутри: <client_item> <id>100000001</id> <desc>STR_SWORD_CIRCULOUS</desc> <name>sword_circulous</name> <weapon_type>1h_sword</weapon_type> <item_type>normal</item_type> <mesh>Sword_circulous</mesh> <mesh_change>0</mesh_change> <material>mat_sword_s</material> <dmg_decal>1</dmg_decal> <icon_name>Icon_Item_Sword_C01</icon_name> <blade_fx>1</blade_fx> <trail_tex>fxtrail_normal</trail_tex> <equip_bone>Rhand_bone</equip_bone> <price>5</price> <max_stack_count>1</max_stack_count> <equipment_slots>main_or_sub</equipment_slots> <min_damage>16</min_damage> <max_damage>20</max_damage> <str>100</str> <agi>0</agi> <kno>0</kno> <hit_accuracy>0</hit_accuracy> <critical>50</critical> <parry>173</parry> <magical_skill_boost>0</magical_skill_boost> <magical_hit_accuracy>0</magical_hit_accuracy> <attack_type>physical</attack_type> <attack_delay>1400</attack_delay> <hit_count>2</hit_count> <attack_gap>0.000000</attack_gap> <attack_range>1.500000</attack_range> <quality>common</quality> <level>1</level> <lore>FALSE</lore> <can_exchange>TRUE</can_exchange> <can_sell_to_npc>TRUE</can_sell_to_npc> <can_deposit_to_character_warehouse>TRUE</can_deposit_to_character_warehouse> <can_deposit_to_account_warehouse>TRUE</can_deposit_to_account_warehouse> <can_deposit_to_guild_warehouse>TRUE</can_deposit_to_guild_warehouse> <breakable>TRUE</breakable> <soul_bind>FALSE</soul_bind> <remove_when_logout>FALSE</remove_when_logout> <gender_permitted>all</gender_permitted> <warrior>1</warrior> <scout>1</scout> <mage>1</mage> <cleric>1</cleric> <fighter>1</fighter> <knight>1</knight> <assassin>1</assassin> <ranger>1</ranger> <wizard>1</wizard> <elementalist>1</elementalist> <chanter>1</chanter> <priest>1</priest> <option_slot_bonus>0</option_slot_bonus> <bonus_apply>equip</bonus_apply> <no_enchant>TRUE</no_enchant> <can_proc_enchant>TRUE</can_proc_enchant> <cannot_changeskin>0</cannot_changeskin> <ui_sound_type>Sounds/item/item_att_long_sword</ui_sound_type> <cash_item>0</cash_item> <can_split>FALSE</can_split> <item_drop_permitted>FALSE</item_drop_permitted> <race_permitted>pc_light pc_dark</race_permitted> </client_item> Итак, синим выделен Id предмета, по нему будет задаваться поиск. Красным выделено имя, которое нам пондобится, оно же абра кадабра. Зеленым выделена стоимость предмета, но о ней чуть позже. Итак, вбиваем в поиск Id нужного нам предмета, блокнот находит его, ищем поле <name></name> и копируем его содержимое в client_npc_goodlist.xml в поле <item></item> <data> <item>для непонятливых, это сюда</item> <data> Желательно чтобы порядок предметов в client_npc_goodlist.xml и goodslists.xml совпадал. Добавляете сюда все что добавили в клиенте, и сохраняете. Чтобы не мучаться с запихиванием файла обратно в .pak мы просто кидаем файлик client_npc_goodlist.xml в папку Aion\Data\npcs приоритет загрузки стоит из папки поэтому гемора намного меньше. Ну вот собственно и все, шоп готов, лично я таким способом, у себя на сервере, сделал ГМ шопы. Чтобы ГМ шоп работал необходимо чтобы измененный файл был на каждом клиенте, поетому все это надо оформлять патчик, например в архив запихнуть, так как это текстовик жми не жми он не испортится поэтому я указывал максимальный способ сжатия. Ах да, чуть не забыл, я же еще обещас рассказать про редактирование стоимости предмета. Ну так вот, стоимость указывается в поле <price></price> которое я ранее выделял зеленым цветом. Указывая свою сумму вы указываете на только стоимость покупки данного предмета но и стоимость его продажи, она считается по формуле sell=price-20%price ну, тоесть, стоимость покупки - 20%. Но учтите чтобы цена изменилась так же надо в патч запихивать и измененный client_items.xm, а это дополнительные 139 мегов в патч.... Ну вот собственно и все, с вами был XobotyI, приходите к нам в школу еще) (с)XobotyI
    Автор темы: TheMazzahaka, 29 дек 2010, ответов - 0, в разделе: AION
  5. TheMazzahaka
  6. TheMazzahaka
  7. TheMazzahaka
  8. TheMazzahaka
  9. TheMazzahaka
  10. TheMazzahaka
  11. TheMazzahaka
  12. TheMazzahaka
  13. TheMazzahaka
  14. TheMazzahaka
    Все манипуляции будут проводиться исключительно со стороны сервера.Менять мы будем 9 файлов: 1)player_experience_table.xml (gameserver/data/static_data/player_experience_table.xml) 2)файлы из папки gameserver/data/static_data/stats/ а если точнее то все файлы кроме warrior-templates.xml; mage-templates.xml; priest-templates.xml; scout-templates.xml. ЧАСТЬ 1 Начнем мы с player_experience_table.xml Изнутри он выглядит так: <?xml version="1.0" encoding="UTF-8"?> <player_experience_table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="player_experience_table.xsd">  <exp>0</exp> <!-- level 0 --> <!-- Experience is tallied up per level and stacks. -->  <exp>650</exp> <!-- 650 -->  <exp>2567</exp> <!-- 1917 -->  <exp>6797</exp> <!-- 4230 -->  <exp>15490</exp> <!-- 8693 -->  <exp>30073</exp> <!-- 14583 -->  <exp>52958</exp> <!-- 22885 -->  <exp>87894</exp> <!-- 34936 -->  <exp>140329</exp> <!-- 52435 -->  <exp>213454</exp> <!-- 73125 -->  <exp>307558</exp> <!-- 94104 --> <!-- Level 10 -->  <exp>438553</exp> <!-- 130995 -->  <exp>608161</exp> <!-- 169608 -->  <exp>825336</exp> <!-- 217175 -->  <exp>1091985</exp> <!-- 266649 -->  <exp>1418170</exp> <!-- 326185 -->  <exp>1810467</exp> <!-- 392297 -->  <exp>2332547</exp> <!-- 522080 -->  <exp>3002260</exp> <!-- 669713 -->  <exp>3820082</exp> <!-- 817822 -->  <exp>4820229</exp> <!-- 1000147 --> <!-- Level 20 -->  <exp>6055323</exp> <!-- 1235094 -->  <exp>7665200</exp> <!-- 1609877 -->  <exp>9667124</exp> <!-- 2001924 -->  <exp>12015782</exp> <!-- 2348658 -->  <exp>14702523</exp> <!-- 2686741 -->  <exp>17819939</exp> <!-- 3117416 -->  <exp>21422200</exp> <!-- 3602261 -->  <exp>25434736</exp> <!-- 4012536 -->  <exp>30111208</exp> <!-- 4676472 -->  <exp>35939440</exp> <!-- 5828232 --> <!-- Level 30 -->  <exp>42747682</exp> <!-- 6808242 -->  <exp>50838806</exp> <!-- 8091124 -->  <exp>60528213</exp> <!-- 9689407 -->  <exp>73197342</exp> <!-- 12669129 -->  <exp>89321807</exp> <!-- 16124465 -->  <exp>109063829</exp> <!-- 19742022 -->  <exp>135085670</exp> <!-- 26021841 -->  <exp>165021833</exp> <!-- 29936163 -->  <exp>201169803</exp> <!-- 36147970 -->  <exp>243343723</exp> <!-- 42173920 --> <!-- Level 40 -->  <exp>292699203</exp> <!-- 49355480 -->  <exp>350659083</exp> <!-- 57959880 -->  <exp>415031452</exp> <!-- 64372369 -->  <exp>485413854</exp> <!-- 70382402 -->  <exp>559280864</exp> <!-- 73867010 -->  <exp>643809037</exp> <!-- 84528173 -->  <exp>741317548</exp> <!-- 97508511 -->  <exp>853743989</exp> <!-- 112426441 -->  <exp>982653882</exp> <!-- 128909893 -->  <exp>1128723910</exp> <!-- 146070028 --> <!-- Level 50 --> </player_experience_table> Внутри тега <exp></exp> написа непосредственно экспа необходимая для получения левла, а в треугольных скобках разность между предыдущим с данным левлом. Каждая новая строчка в этом файле - новый уровень, соответственно, копипаст столько раз, сколько вам надо добавить уровней. Допустим, я хочу добавить еще 5 уровней. в результате конец файлика будет выглядеть так(вы конечно же можете использовать свои цифры): <exp>243343723</exp> <!-- 42173920 --> <!-- Level 40 -->  <exp>292699203</exp> <!-- 49355480 -->  <exp>350659083</exp> <!-- 57959880 -->  <exp>415031452</exp> <!-- 64372369 -->  <exp>485413854</exp> <!-- 70382402 -->  <exp>559280864</exp> <!-- 73867010 -->  <exp>643809037</exp> <!-- 84528173 -->  <exp>741317548</exp> <!-- 97508511 -->  <exp>853743989</exp> <!-- 112426441 -->  <exp>982653882</exp> <!-- 128909893 -->  <exp>1128723910</exp> <!-- 146070028 --> <!-- Level 50 -->  <exp>1213252083</exp> <!-- 84528173 -->  <exp>1310760594</exp> <!-- 97508511 -->  <exp>1423187035</exp> <!-- 112426441 -->  <exp>1552096928</exp> <!-- 128909893 -->  <exp>1698166965</exp> <!-- 146070028 --> <!-- Level 55 --> </player_experience_table> Тут у нас все.  Теперь приступаем к самой геморной части этого нелегкого дела. ЧАСТЬ 2 Идем в папочку gameserver/data/static_data/stats/ Здесь надо будет отредактировать 8 файлов, по 8-ми профам соответственно, ну и называются они соответственно английским названиям проф. Допустим я возьму Гладиатора он же Gladiator следовательно его файлик - gladiator-templates.xml Открываем и видим: (я возьму кусочек характеризующий 50-й уровень) <player_stats class="GLADIATOR" level="50">        <stats_template maxHp="5813" maxMp="3612"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="682" block="682" parry="682"                      main_hand_attack="19" main_hand_accuracy="590" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats> Нам надо в каждом классе расписать статы на все 5 добавленных уровней. Выглядеть уже отредактированный файл будет так(его конец): <player_stats class="GLADIATOR" level="50">      <stats_template maxHp="5813" maxMp="3612"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="6892" block="682" parry="682"                      main_hand_attack="19" main_hand_accuracy="590" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats>      <player_stats class="GLADIATOR" level="51">           <stats_template maxHp="6013" maxMp="3712"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="692" block="692" parry="692"                      main_hand_attack="19" main_hand_accuracy="600" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats>      <player_stats class="GLADIATOR" level="52">           <stats_template maxHp="6213" maxMp="3812"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="702" block="702" parry="702"                      main_hand_attack="19" main_hand_accuracy="610" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats>      <player_stats class="GLADIATOR" level="53">      <stats_template maxHp="6413" maxMp="3912"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="712" block="712" parry="712"                      main_hand_attack="19" main_hand_accuracy="620" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats>      <player_stats class="GLADIATOR" level="54">           <stats_template maxHp="6613" maxMp="4012"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="722" block="722" parry="722"                      main_hand_attack="19" main_hand_accuracy="630" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats>      <player_stats class="GLADIATOR" level="55">           <stats_template maxHp="6813" maxMp="4112"                      power="115" health="115" agility="100" accuracy="100" knowledge="90" will="90"                      walk_speed="1.5" run_speed="6" fly_speed="9"                      attack_speed="1.5"                      evasion="732" block="732" parry="732"                      main_hand_attack="19" main_hand_accuracy="640" main_hand_crit_rate="2"                      magic_accuracy="713" />      </player_stats> Отредактировав таким образом все классы, мы можем запускать сервер и радоваться что теперь у нас не 50 а 55 левлов)) Автор:XobotyI PS Выложил этот гайд т.к. считаю полезным и обязательным к прочтению =)
    Автор темы: TheMazzahaka, 31 май 2010, ответов - 4, в разделе: AION
  15. TheMazzahaka
    И снова здравствуйте!хД Сегодня я расскажу как усложнить повышение уровня(кача) после определённого (нужного вам) уровня. Для всей работы нам понадобится всего лишь 1 файл ищем тут >> gameserver\data\static_data имя нужного файла player_experience_table.xml. Выглядит файл примерно  вот так: <?xml version="1.0" encoding="UTF-8"?> <player_experience_table xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="player_experience_table.xsd">  <exp>0</exp> <!-- level 0 --> <!-- Experience is tallied up per level and stacks. -->  <exp>650</exp> <!-- 650 -->  <exp>2567</exp> <!-- 1917 -->  <exp>6797</exp> <!-- 4230 -->  <exp>15490</exp> <!-- 8693 -->  <exp>30073</exp> <!-- 14583 -->  <exp>52958</exp> <!-- 22885 -->  <exp>87894</exp> <!-- 34936 -->  <exp>140329</exp> <!-- 52435 -->  <exp>213454</exp> <!-- 73125 -->  <exp>307558</exp> <!-- 94104 --> <!-- Level 10 -->  <exp>438553</exp> <!-- 130995 -->  <exp>608161</exp> <!-- 169608 -->  <exp>825336</exp> <!-- 217175 -->  <exp>1091985</exp> <!-- 266649 -->  <exp>1418170</exp> <!-- 326185 -->  <exp>1810467</exp> <!-- 392297 -->  <exp>2332547</exp> <!-- 522080 -->  <exp>3002260</exp> <!-- 669713 -->  <exp>3820082</exp> <!-- 817822 -->  <exp>4820229</exp> <!-- 1000147 --> <!-- Level 20 -->  <exp>6055323</exp> <!-- 1235094 -->  <exp>7665200</exp> <!-- 1609877 -->  <exp>9667124</exp> <!-- 2001924 -->  <exp>12015782</exp> <!-- 2348658 -->  <exp>14702523</exp> <!-- 2686741 -->  <exp>17819939</exp> <!-- 3117416 -->  <exp>21422200</exp> <!-- 3602261 -->  <exp>25434736</exp> <!-- 4012536 -->  <exp>30111208</exp> <!-- 4676472 -->  <exp>35939440</exp> <!-- 5828232 --> <!-- Level 30 -->  <exp>42747682</exp> <!-- 6808242 -->  <exp>50838806</exp> <!-- 8091124 -->  <exp>60528213</exp> <!-- 9689407 -->  <exp>73197342</exp> <!-- 12669129 -->  <exp>89321807</exp> <!-- 16124465 -->  <exp>109063829</exp> <!-- 19742022 -->  <exp>135085670</exp> <!-- 26021841 -->  <exp>165021833</exp> <!-- 29936163 -->  <exp>201169803</exp> <!-- 36147970 -->  <exp>243343723</exp> <!-- 42173920 --> <!-- Level 40 -->  <exp>292699203</exp> <!-- 49355480 -->  <exp>350659083</exp> <!-- 57959880 -->  <exp>415031452</exp> <!-- 64372369 -->  <exp>485413854</exp> <!-- 70382402 -->  <exp>559280864</exp> <!-- 73867010 -->  <exp>643809037</exp> <!-- 84528173 -->  <exp>741317548</exp> <!-- 97508511 -->  <exp>853743989</exp> <!-- 112426441 -->  <exp>982653882</exp> <!-- 128909893 -->  <exp>1128723910</exp> <!-- 146070028 --> <!--Level 50--!>       </player_experience_table> Собсно каждая строчка отвечает за 1 уровень.В первых  таких "<!-- --!>" скобках содержится разница опыта между предыдущим уровнем. Собсно редактируем файлы под себя и сохраняем. Автор:The-Mazzahaka   :D PS Админы если с названием что напутал переименуйте =)
    Автор темы: TheMazzahaka, 31 май 2010, ответов - 2, в разделе: AION
  16. TheMazzahaka
    Сегодня я решил рассказать и собсно показать как и где изменяются рейты.Прежде всего нам понадобится файл rates.properties из папки gameserver\config\main. Открываем файл rates.properties Выглядит он следующим образом: # # This file is part of aion-unique <aion-unique.org>. # # aion-unique is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # aion-unique is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with aion-unique. If not, see <http://www.gnu.org/licenses/>. # # ---------------------------- # Rates config's: # ---------------------------- # ------------- # Group rates # ------------- # Regular experience gain for group # Default: 1 gameserver.rate.regular.group.xp = 1 # Premium experience gain for group # Default: 2 gameserver.rate.premium.group.xp = 2 #------------- # Regular Personal rates #------------- # Experience gain # Default: 1 gameserver.rate.regular.xp = 1 # Item drop chance multiplier # Default: 1 gameserver.rate.regular.drop = 1 # Gathering XP rate gameserver.rate.regular.gathering.xp = 1 # Crafting XP rate gameserver.rate.regular.crafting.xp = 1 # Quest XP rate # Default: 1 gameserver.rate.regular.quest.xp = 1 # Quest Kinah rate # Default: 1 gameserver.rate.regular.quest.kinah = 1 # Abyss points rate (can be 0.5 etc.) # Default: 1 # For PVE gameserver.rate.regular.ap.npc = 1 # For PVP gameserver.rate.regular.ap.player = 1 #------------- # Premium Personal rates #------------- # Experience gain # Default: 2 gameserver.rate.premium.xp = 2 # Item drop chance multiplier # Default: 2 gameserver.rate.premium.drop = 2 # Gathering XP rate gameserver.rate.premium.gathering.xp = 1 # Crafting XP rate gameserver.rate.premium.crafting.xp = 1 # Quest XP rate # Default: 2 gameserver.rate.premium.quest.xp = 2 # Quest Kinah rate # Default: 2 gameserver.rate.premium.quest.kinah = 2 # Abyss points rate (can be 0.5 etc.) # Default: 2 # For PVE gameserver.rate.premium.ap.npc = 2 # For PVP gameserver.rate.premium.ap.player = 2 Собсно этот файл делится на 3 блока. 1-ый блок это бонус рейтов для групп 2-ой блок это обычные рейты для кача соло 3-ий блок это блок для премиум аккаунтов (membership в бд) Для начала разберём 1-ый блок.В нём нужно отредактировать всего лишь 2 параметра.Выглядит сам блок вот так: # ------------- # Group rates # ------------- # Regular experience gain for group # Default: 1 gameserver.rate.regular.group.xp = 1 # Premium experience gain for group # Default: 2 gameserver.rate.premium.group.xp = 2 gameserver.rate.regular.group.xp=1  -Это множитель опыта в группе для "смертных юзеров" (как я понял оО) gameserver.rate.premium.group.xp=2 -Это множитель опыта в группе для премиум юзеров (опять таки как йа понял Оо) Редактируем данный блок под себя и идём дальше. Разбираем 2-ой блок.Здесь содержатся рейты для "смертных" т.е. обычных игроков.Выглядит этот блок собсно вот так: #------------- # Regular Personal rates #------------- # Experience gain # Default: 1 gameserver.rate.regular.xp = 1 # Item drop chance multiplier # Default: 1 gameserver.rate.regular.drop = 1 # Gathering XP rate gameserver.rate.regular.gathering.xp = 1 # Crafting XP rate gameserver.rate.regular.crafting.xp = 1 # Quest XP rate # Default: 1 gameserver.rate.regular.quest.xp = 1 # Quest Kinah rate # Default: 1 gameserver.rate.regular.quest.kinah = 1 # Abyss points rate (can be 0.5 etc.) # Default: 1 # For PVE gameserver.rate.regular.ap.npc = 1 # For PVP gameserver.rate.regular.ap.player = 1 Разбираем параметры и их значение. gameserver.rate.regular.xp - множитель опыта (т.е если у нас есть моб за которого дают 3к опыта и мы установили значение этого параметра на 2 то дадут за моба 6к опыта) gameserver.rate.regular.drop - множитель дропа (тот же принцип что и выше) gameserver.rate.regular.gathering.xp-этот параметр я не довкурил Оо gameserver.rate.regular.crafting.xp - тут опыт даваемый за крафтинг (создание вещей) gameserver.rate.regular.quest.xp - экспа даваемая за квесты  gameserver.rate.regular.quest.kinah - я не понял за что отвечает параметр оО gameserver.rate.regular.ap.npc - абис очки даваемые в пве gameserver.rate.regular.ap.player - абис очки даваемые в пвп (по описанию вродь так) Разбираем 2-ой блок.Этот блок для премиум аккаунтов.Выглядит следующим образом: #------------- # Premium Personal rates #------------- # Experience gain # Default: 2 gameserver.rate.premium.xp = 2 # Item drop chance multiplier # Default: 2 gameserver.rate.premium.drop = 2 # Gathering XP rate gameserver.rate.premium.gathering.xp = 1 # Crafting XP rate gameserver.rate.premium.crafting.xp = 1 # Quest XP rate # Default: 2 gameserver.rate.premium.quest.xp = 2 # Quest Kinah rate # Default: 2 gameserver.rate.premium.quest.kinah = 2 # Abyss points rate (can be 0.5 etc.) # Default: 2 # For PVE gameserver.rate.premium.ap.npc = 2 # For PVP gameserver.rate.premium.ap.player = 2 Тут все параметры аналогичны 2-ому блоку. Вот и все.Вы поменяли рейты для своего сервера =). Автор:The-Mazzahaka
    Автор темы: TheMazzahaka, 31 май 2010, ответов - 4, в разделе: AION
  17. TheMazzahaka
    Данный гайд является обновлением для старого.Плюс информация о том как поставить сервер на no-ip (днс хост).По нему не получится поставить сервер с нуля.Перед прочтением данной информации выполните пункты с 1 по 6 (включительно) из этого гайда. Приступим. Открываем config\network и видим файл database.properties выглядит он так: # # This file is part of aion-unique <aion-unique.org>. # # aion-unique is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # aion-unique is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with aion-unique.  If not, see <http://www.gnu.org/licenses/>. # # ---------------------------- # Database Config # ---------------------------- # This class represents database driver class that will be used while connecting to database database.driver = com.mysql.jdbc.Driver # This is database url.  database.url = jdbc:mysql://localhost:3306/au_server_gs?useUnicode=true&characterEncoding=UTF-8 # Database user database.user = root # Database password # NOTE: Change this! Root password is not safe! database.password = root # Minimum amount of database connections that will allways in the pool database.connections.min = 5 # Maximum amount of DB connections that server can use database.connections.max = 10 # Script context that will be loaded by database factory, it should implement DAO instances database.scriptcontext.descriptor = ./data/scripts/system/database.xml Редактируем указанные ниже поля: # This is database url.  database.url = jdbc:mysql://localhost:3306/au_server_gs?useUnicode=true&characterEncoding=UTF-8           <--Тут путь до вашей базы  (меняем только имя ) # Database user database.user = root   <--Пользователь вашей базы # Database password # NOTE: Change this! Root password is not safe! database.password = root          <--Пароль от вашей базы Данный файл имеется есчо в 2-ух папках.Пути к ним:gameserver\config\network и gameserver\config\network. Их редактируем таким же образом. Теперь открываем файл gameserver\config\network\network.properties Он имеет следующий вид: # # This file is part of aion-unique <aion-unique.org>. # # aion-unique is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # aion-unique is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with aion-unique.  If not, see <http://www.gnu.org/licenses/>. # # ---------------------------- # Network Config # ---------------------------- # Port that will be used to listen for client connections gameserver.network.client.port = 7777 # Host that will be used to listen for client connections gameserver.network.client.host = ??? # Maximum online players on the server gameserver.network.client.maxplayers = 100 # Address of login server gameserver.network.login.address = 127.0.0.1:9014 # Id of this game server gameserver.network.login.gsid = 1 # Password of this game server gameserver.network.login.password =??? # Address of chat server gameserver.network.chat.address = localhost:9021 # Password of this game server for chat server gameserver.network.chat.password = # Additional threads that are used to read network data gameserver.network.nio.threads.read = 0 # Additional threads that are used to write network data gameserver.network.nio.threads.write = 0 # This will enable or disable the messages for unknown packets gameserver.network.display.unknownpackets = false Редактируем только поля указанные ниже: # Host that will be used to listen for client connections gameserver.network.client.host = ???  <--No-ip или другой DNS хост и # Password of this game server gameserver.network.login.password =??? <--Пароль указанный на шаге 6 при установке сервера. Теперь открываем этот же файл, но только здесь -->loginserver\config\network\ Выглядит так: # # This file is part of aion-unique <aionunique.smfnew.com>. # # aion-unique is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # aion-unique is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with aion-unique.  If not, see <http://www.gnu.org/licenses/>. # # LoginServer will listen for connections on specified port loginserver.network.client.port=2106 # LoginServer will bind specified network interface # * - bind all interfaces loginserver.network.client.host=* # How many times player can try to login before he get's banned for bruteforcing loginserver.network.client.logintrybeforeban=5 # For what time in minutes player should be banned in case of bruteforcing loginserver.network.client.bantimeforbruteforcing=15 # Host that will be used by LS to listen for GS connections loginserver.network.gameserver.host=localhost # Port that will be used by LS to listen for GS connections loginserver.network.gameserver.port=9014 # Nuber of additional threads for NIO that will handle only reading loginserver.network.nio.threads.read=0 # Nuber of additional threads for NIO that will handle only writing loginserver.network.nio.threads.write=0 # Create accounts automatically or not? loginserver.accounts.autocreate=true Редактируем эти поля: # LoginServer will bind specified network interface # * - bind all interfaces loginserver.network.client.host=* <-- Тут ставим звёздочку  Больше ничего не трогаем. Теперь открываем файл: gameserver\config\network\ipconfig.xml Открываем этот файл блокнотом (или чем либо есчо оО) и в строке <ipconfig default="Ваш DNS хост">. Вот собственно и всё.Если вы хотели поставить сервер на свой айпи то везде где мы прописывали DNS хосты пишем ваш ip. От себя:Не знаю как понятно или не понятно получилось,но тот кому нужно поймёт хД. Автор The-Mazzahaka.  :D
    Автор темы: TheMazzahaka, 29 май 2010, ответов - 6, в разделе: AION
  18. TheMazzahaka
    Все команды пишутся в чате!! ////////////////////////////////////////// Админские команды: ////////////////////////////////////////// //promote <characterName> <rolemask> Дать игроку права администратора ПС: Значения = 1,2,или 3. //revoke characterName Снять администраторские права с игрока. //add <itemID> <quantity> Добавить вещь в ваш инвентарь. //addskill <skillId> <skillLevel> Добавить навык игроку //givemissingskills Рекурсивно проверит все отсутствующие навыки игрока и добавит их ему. //addtitle <title_id> <playerName> Добавить заголовок возле ника игрока. //announce <message> Отправить сообщение, которое высветится у всех игроков в чате. //notice <message> Отправить сообщение, которое высветится у всех игроков в чате и в центре экрана. //info <target player> Информация о вашей цели. //set level <level> Повысить уровень вашей цели ПС: максимальный уровень 50 //set exp <value> Добавит опыт вашей цели. //set title <title_id> Добавить заголовок возле ника вашей цели. Завершенные Заголовки ИД список: id=1 Хранитель Фоэты id=2 Воин Бертрона id=3 Защитник Тольбаса id=4 Союзник Древней id=5 Охотник на краллов id=6 Друг пугала id=7 Знаток животных id=8 Знаток языка краллов id=9 Стоик id=10 Посланник Мабанты id=11 Специалист по бомбам id=12 Герой Элтенена id=13 Охотник на ньютов id=14 Мастер полетов id=15 Повар брауни id=16 Целитель душ id=17 Помощник духа id=18 Специалист по делам сердечным id=19 Обладатель желтой повязки id=20 Спаситель Эйрона id=21 Почетный археолог id=22 Одинокий авантюрист id=23 Избранник Фасерта id=24 Главный ищейка id=25 Захватчик Индрата id=26 Покровитель Бальбоа id=27 Шаман повстанцев id=28 Опытный рыболов id=29 Мастер шпионажа id=30 Знаток языка балауров id=31 Охотник на асмодиан id=32 Победитель асмодиан id=33 Непобедимый воин id=34 Герой Элиоса id=35 Истребление пиратов id=36 Лучший мастер id=37 Рыцарь Миразента id=38 Мастер DP id=39 Даэв в белых одеждах id=40 Хозяин меча балауров id=41 Посланник "Темного облака" id=42 Крал-живодер id=43 Профессиональный страж-охотник id=44 Упорный преследователь id=45 Растяпа id=46 Разрушитель Аджотурана id=47 Исследователь исполинов id=48 Рыцарь Гоморона id=49 Столкновение с судьбой id=50 Спаситель будущего id=51 Герой разбойников id=52 Кладоискатель id=53 Убийца медведей id=54 Знаток языка оборотней id=55 Поборник мечты id=56 Легендарный охотник id=57 Хранитель Альтгарда id=58 Убийца рюкрога id=59 Повелитель ожерелья id=60 Хранитель Морхейма id=61 Повар шиго id=62 Чудотворец id=63 Член банды грабителей Кидорун id=64 Защитник старших id=65 Приятель Пата и Конга id=66 Покоритель Серебряной гривы id=67 Быстрый гонец древней id=68 Боровшийся с краллами id=69 Помощник Дукара id=70 Друг Айскера id=71 Упорный первопроходец id=72 Хранитель Брустхонина id=73 Жертва Слейпнира id=74 Герой Белуслана id=75 Охотник снежной долины id=76 Спаситель Весфера id=77 Защитник Мусфеля id=78 Коллекционер манускриптов id=79 Напрасно пришедший в Элиос id=80 Знаток языка балауров id=81 Охотник на Элийцев id=82 Победитель Элийцев id=83 Доблестный воин id=84 Герой Асмодеи id=85 Уничтожение "Стального плавника" id=86 Лучший мастер id=87 Клык Фенрира id=88 Прошедший экзамен по DP id=89 Свет земли id=90 Хозяин проклятого меча id=91 Посланник торговцев id=92 Излишне любопытный id=93 Убийца стража id=94 Союзник Серебряной гривы id=95 Прирожденный торговец id=96 Хранитель правосудия id=97 Покоритель духов id=98 Грозный пират id=99 Изменивший судьбу id=100 Побывавший в будущем id=101 Первопроходец Айона id=102 Счастливчик id=103 Весельчак id=104 Интеллектуал id=105 Мудрец Айона id=106 Щедрая душа //set class <class_id> Дать класс игроку. Класс ID's: Воин - 0 Гладиатор - 1 Страж - 2 Следопыт - 3 Убийца - 4 Стрелок - 5 Маг - 6 Волшебник - 7 Заклинатель - 8 Жрец - 9 Целитель - 10 Чародей - 11 //speed <speed> Увеличивает скорость передвежения(%) ПС: Значения от 100 до 200 //heal <target> Восстановить жизни/ману/DP //kill <playername> Убить игрока. //kick <playername> Выкинуть игрока из игры //unstuck Перемещает вас в город //moveplayertoplayer <player1> <player2> Переместить одного игрока к другому. //movetome <player> Переместить игрока к себе. //movetoplayer <player> Переместится к игроку. //moveto < X Y Z> Перемещение по координатам XYZ. Лист локаций для команды //moveto: * Sanctum - //moveto 110010000 1532 1511 565 * Poeta - //moveto 210010000 526 1461 106 * Verteron - //moveto 210030000 1339 2195 143 * Eltnen - //moveto 210020000 1487 1466 300 * Theobomos - //moveto 210060000 1400 1550 31 * Interdiktah - //moveto 210040000 1508 1568 112 * Pandaemonium - //moveto 120010000 1268 1428 208 * Ishalgen (Asmodian Starting Zone) - //moveto 220010000 850 2218 267 * Altgard - //moveto 220030000 1781 1930 261 * Morheim - //moveto 220020000 872 2180 337 * Brusthonin - //moveto 220050000 2428 2298 13 * Beluslan - //moveto 220040000 1967 2533 590 * Ereshuranta (Abyss) - //moveto 400010000 1365 1177 1516 * No Zone Name - //moveto 300010000 225 276 206 * Karamatis - //moveto 310010000 225 276 206 * Karamatis (not sure why there are two of these) - //moveto 310020000 225 276 206 * Aerdina (Abyss Gate) - //moveto 310030000 269 173 204 * Geranaia (Abyss Gate) - //moveto 310040000 269 173 204 * Lepharist (Bio Experiment Lab) - //moveto 310050000 191 324 125 * Fragment of Darkness - //moveto 310060000 1618 782 1188 * Fragment of Darkness (not sure why there are two of these) - //moveto 310070000 83 238 1222 * Sanctum Underground Arena - //moveto 310080000 276 185 162 * Indratu (Castle Indratu) - //moveto 310090000 560 335 1016 * Azoturan (Castle Lehpar) - //moveto 310100000 359 410 1537 * Narsass - //moveto 320010000 225 276 206 * Narsass (not sure why there are two of these) - //moveto 320020000 225 276 206 * Bregirun (Abyss Gate) - //moveto 320030000 269 175 204 * Nidalber (Abyss Gate) - //moveto 320040000 269 175 204 * Inside of the Sky Temple of Arkanis 320050000 128 133 575 * Space of Oblivion - //moveto 320060000 1709 807 1226 * Space of Destiny - //moveto 320070000 256 252 126 * Draupnir - //moveto 320080000 493 600 513 (central control room) * Draupnir - //moveto 320080000 762 431 321 (beritra oracle chamber) * Triniel Underground Arena - //moveto 320090000 276 183 162 * Fire Temple - //moveto 320100000 148 455 142 * Alquimia - //moveto 320110000 545 527 200 * Secret Prison - //moveto 320120000 454 553 225 * Player Prison 1- //moveto 510010000 229 257 50 * Player Prison 2- //moveto 520010000 229 257 50 * Test Basic - //moveto 900020000 151 135 20 * Test Server - //moveto 900030000 403 254 50 * Test Giant Monster - //moveto 900100000 245 323 20 //goto <place name> Телепортирует вас в указанный город Пример: //goto poeta Лист городов для команды //goto: poeta verteron eltnen theobomos heiron sanctum ishalgen altgard morheim brusthonin beluslan pandaemonium abyss1 abyss2 abyss3 abyss4 abyssfortress senza karamatis1 karamatis2 aerdina gerania lepharist fragment sanctumarena idratu azoturan ataxiar1 ataxiar2 bregirun nidalber skytemple space trinielarena firetemple reshanta prison1 prison2 test1 test2 test3 //spawn <npc_id> Добавить NPC. //delete <target npc> Удалить NPC. //save_spawn Сохранить все спавны. //reload_spawn Перезагрузить спавны. //adddrop <mobid> <itemid> <min> <max> <chance> <quest> Добавить вещь в дроплист NPC. //zone Показывает ваше местонахождение. //reload skill Перезагружает ваши навыки. //reload quest Перезагружает ваши задания. //quest <start|delete|step|info|vars> <quest_id> Используется для проверки квестов. //sys <info> | <memory> | <gc> | <restart> | <shutdown> //sys info Показывает основную информацию. //sys memory Показывает состояние памяти. //sys gc Используемая оперативная память //sys restart <countdown time in seconds> <announce delay in seconds> Перезагрузить сервер //sys shutdown <countdown time in seconds> <announce delay in seconds> Выключить сервер //ai <info|event|state> Только для использования разработчиками //weather <location> <0 - 8> Пример: //weather poeta 0 -> Чистое небо для этой локации //weather reset -> Изменить всю погоду в мире //fsc <opcode> <packet structure> <values> -неизвестно //advsendfakeserverpacket -неизвестно  //sendfakeserverpacket-неизвестно  //sendrawpacket-неизвестно 
    Автор темы: TheMazzahaka, 25 май 2010, ответов - 0, в разделе: AION
  19. TheMazzahaka