Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Lineage II (https://forum.zone-game.info/forumdisplay.php?f=34)
-   -   |Задумка|Определеный итем при лвлапе (https://forum.zone-game.info/showthread.php?t=4837)

DorianGrey 11.10.2009 20:02

|Задумка|Определеный итем при лвлапе
 
Возникла такая проблема, вернее нужда, как хлеб...

Зборка: L2JServer

Идея:
Надо зделать скрипт в ядре на автополучение какого либо итема при лвл апе, при этом до 30го лвла ничего не получать, а начиная с 30го получать допустим по 3 вещи на каждый лвл, 31лвл 3 вещи в инвентаре, 32, 6 таких вещей, и т.д. XD

Я нихочу эксперментировать зря, лучше уж спросить мнение папок, т.е вас.:rolleyes:

Вот как я думаю это зделать:

В java\net\sf\l2j\gameserver\model\L2LvlupData.java

Есть коды на добавление чаром при каждом лвл апе определеное количество, хп, мп, цп и.т.д


Взять к примеру участок кода:
PHP код:

private float _classCpAdd;

public 
float getClassCpAdd()
    {
        return 
_classCpAdd;
    }

    
/**
     * @param hpAdd The _classCpAdd to set.
     */
    
public void setClassCpAdd(float cpAdd)
    {
        
_classCpAdd cpAdd;
    } 

Зделать в конце:

Код HTML:

getInventory().addItem("Итемкакойта", 6673, 3, this, this);
          sendMessage("You received 3 Items");

ну гдето так...прошу меня понять и ответить на мой вопрос, мне это очень надо ;)

А именно подскажите как зделать так чтобы давало только после 30го уровня, я понятия не имею:rolleyes::p


Добавил: Еще коечто, как настроить гвардов атачить челов другой рассы, при этом не атачить челов своеи рассы вот как я думаю это зделать, скажите, прав ли я?


INDEX: java\net\sf\l2j\gameserver\model\actor\knownlist\G uardKnownList.java

участок кода:
PHP код:

 L2PcInstance player = (L2PcInstanceobject;

            if ( (
player.getKarma() > 0) )
            {
                if (
Config.DEBUG_log.fine(getActiveChar().getObjectId()+": PK "+player.getObjectId()+" entered scan range"); 


Добавить чтото типа этого :

Код HTML:

if ( (player.getRace() == Race.DarkElf) )
          if ( (player.getRace() == Race.Human) )
          if ( (player.getRace() == Race.Orc) )
          if ( (player.getRace() == Race.Elf) )
          if ( (player.getRace() == Race.Dwarf) )
          if ( (player.getRace() == Race.Kamael) )


то он начнет это сканировать...

А вот что для Ai например для гвардов людей..

Добавить чтото типа этого, AI для Human Guard

PHP код:

            if ((getRace() == Race.DarkElf)             
            }    
            if ((
getRace() == Race.Elf
            }
            if ((
getRace() == Race.Orc
            }
            if ((
getRace() == Race.Dwarf)

           
getAttackTarget(); 


чтото типа такого
то тогда будет атакавать...


Добавлено через 22 часа 17 минут
Помогите мне емае!

DorianGrey 13.10.2009 20:10

Re: |Задумка|Определеный итем при лвлапе
 
Мда я ожидал наиболее быстрого ответа)) Хотя я и сам решил это;))

Все тему можно закрыть

jerom 14.10.2009 17:26

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от DorianGrey (Сообщение 42435)
Мда я ожидал наиболее быстрого ответа)) Хотя я и сам решил это;))

Все тему можно закрыть

Вот ты проблему решил, а поделиться с нами, смертными?
Если решил проблему, выкладывай решение во избежание повторных тем=)
Либо это можно розценивать как Спам xD

DorianGrey 14.10.2009 18:41

Re: |Задумка|Определеный итем при лвлапе
 
нет, не выдам, вам смертным это слижком жироно ибо я загеморился с этом ужастно долго а вы даже идею не дали) теперь у меня нормальная система получение итемов...
могу поставить на любой лвл при лвлапе любой итем и любое количество, а также любой текст в системных сообщениях про то что ты получил столькото итемов...

Даю небольшую подсказку, если есть руки и мозг конечно, как у меня...все на подобе обновления мп\хп\цп у чара при лвлапе а также повышение хп мп при лвлапе, на подобе и это, для этого вам надо будет создать таблицу в мускуле с 3 мя колонами имя сами придумайте, дальше просто по примеру getInventory().getItem () его ид ну и тд и тп, мессагу и другое лехко зделать

FXAntiXrist 14.10.2009 18:54

Re: |Задумка|Определеный итем при лвлапе
 
нет у тя програмистской этики =)

jerom 15.10.2009 21:24

Re: |Задумка|Определеный итем при лвлапе
 
Как бы существует негласное правило: "создал тему с проблемой, нашел решение - напиши что сделал, чтобы решить проблему" иначе всё это можно расценивать как Спам, набитие постов, и т.д.

Добавлено через 8 минут
Цитата:

Сообщение от DorianGrey (Сообщение 42543)
нет, не выдам, вам смертным это слижком жироно ибо я загеморился с этом ужастно долго а вы даже идею не дали)

У тебя ответ настоящего "Эгоиста" не в обиду, но это факт.
К примеру...
Ты дал какие-нибудь идеи для создания Java-серверов , на котором ты сие сделал? Нет? Я так и думал. А ведь люди тоже " загеморились" над его созданием и что? Они же не сказали : "Ребята, извиняйте "кина" не будет, компилятор сломался"

DorianGrey 16.10.2009 15:54

Re: |Задумка|Определеный итем при лвлапе
 
Все проще, я ценю свой труд.

По теме...мб и выложу но под другим видом, ибо чтобы не было как у меня, т.к. знаю я вас, чтото вам скинь так все копирайты сотрете и всем будете хвастатся что сами это зделали...а меня это бесит ;)

А вообще у меня своя команда 4 человек и мы делаем новую зборку, выложим ее в виде новости на ЗГ на вашем портале, там и увидете новые фичи

DorianGrey 11.11.2009 14:55

Re: |Задумка|Определеный итем при лвлапе
 
и так прошло не мало времени...были некоторые траблы в реале. :)

Вылаживаю мод для получение определеного итема и определенное количество на опреденном уровне.


///Этот мод для тех у кого есть исходники сервера.!!!///

[SPOILER]

Dелал на L2JServer

И так заходим сюда: java\net\sf\gameserver\model\instances\L2Pcinstanc e.java

Nа}{одим строку:
Цитата:

public void rewardSkills()


после коментария
// Remove beginner Lucky skill Должна быть часть кода

Цитата:

if (lvl == 10)
{
L2Skill skill = SkillTable.getInstance().getInfo(194, 1);
skill = removeSkill(skill);

if (Config.DEBUG && skill != null) _log.fine("removed skill 'Lucky' from "+getName());
}
после нее добовляем:

Цитата:

if (lvl == 20)
{
sendMessage ("You have recieved 200 Festival Adena For Leveling UP!.");
getInventory().addItem("FA", 6673, 200, this, this);
}

это можно вписывать неограниченое количество раз, и делать награды разные.

[/SPOILER]

Код HTML:

ФАК Ю:

Нуб: Для чего это надо!?!о_О!!АДЫНАДЫН!!1!
ДорианГрей: На серверах лоу рейт да и на высоких рейтах для того чтобы было стремление игрокам к каче и к новым лвлам, можно ввести этот мод дабы стимулировать игроков поднимать свой уровень.

Нуб: ОоОО А кАк вщаее этО-О ставить!?! МожЫт зделаете АвтоЕксЕшНИк ну Шоб Она сома посТавИлясясяся!!?!??!АДЫН!

ДорианГрей: Своими ручками, тока ручками ув. Нубила!



У мода есть одно НО, этот мод хорош если на сервере выключена опция делевела чара...Имхо если нет то чар может задюпать дофига этих вещей...

У меня стоит такаяже батва только через Базу мускуля))) Для вас же зделал чуток примитивние...

PROGRAMMATOR 11.11.2009 15:22

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от DorianGrey
if (lvl == 20)

Чисто так, на вскидку, я получил на 19-м уровне сразу 21. И?

DorianGrey 11.11.2009 15:43

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

я получил на 19-м уровне сразу 21. И?
нефига непонял, вы получили, что получили? и что 21?

код пашет сам проверял

PROGRAMMATOR 11.11.2009 15:47

Re: |Задумка|Определеный итем при лвлапе
 
Все ясно, работайте дальше.

HuKoJIaC 11.11.2009 15:58

Re: |Задумка|Определеный итем при лвлапе
 
Уважаемый Программос пытается сказать что при получении 19 левела он тутже апнул 21 за место получения итема. (Это как я понил)

PROGRAMMATOR 11.11.2009 16:00

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от HuKoJIaC
Программос

Это кто такой? :)

DorianGrey 11.11.2009 16:00

Re: |Задумка|Определеный итем при лвлапе
 
\\OFFTOP\\

<||ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ||>

А что вам ясно то?)

Цитата:

Уважаемый Программос пытается сказать что при получении 19 левела он тутже апнул 21 за место получения итема. (Это как я понил)


я не трогал experience.java и playablestats.jaba так что такой фигни не может даже быть...

Добавлено через 3 минуты
Спасибки хоть закидайте мну

intheend 12.11.2009 12:28

Re: |Задумка|Определеный итем при лвлапе
 
пример:
рейты чуть выше 1к(вроде), убивая гремлина игрок поднимает 19 лвл, но if (lvl == 20)
и мы идем бить гремлинов дальше, убивая еще гремлина игрок получает 21 лвл.

Вопрос, итем будет выдан игроку?

DorianGrey 13.11.2009 13:28

Re: |Задумка|Определеный итем при лвлапе
 
нет не будет выдан ) Мод для лоу рейтов где лвл получается лвл за левелом без скачков. НО если вы хотите полноценный мод...с потдержкой мускуля и т.д.) мне в аську...о цене договоримся ;)

(lvl == 20)

т.е. начиная с 20го уровня он получает приз, кактолько апает 20, ное сли игрок 19, и он апает сразу 21, приз не будет выдан, т.к. 20го лвл нет (если подумать о ветке лвлапа) так что так...

Добавлено через 4 минуты
хотябы спасибок накьните...

HuKoJIaC 13.11.2009 15:28

Re: |Задумка|Определеный итем при лвлапе
 
PROGRAMMATOR Сори просто когда писал комент общался в тимспике с программосом и ещё с парнями вот и тупонул :(

А по поводу этой задумке то скажу только одно.
Есть исходники? Тогда исправить всё оч легко под свои рейты не тупите.
За задумку респект норм придумал :)

DorianGrey 13.11.2009 17:46

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

За задумку респект норм придумал
Dля этого есть кнопочка "СПАСИБО!"
ну и вебманей кошелек хД

lKingHell 13.11.2009 17:54

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от DorianGrey (Сообщение 45106)
Dля этого есть кнопочка "СПАСИБО!"
ну и вебманей кошелек хД

У нас бесплатный форум.И не надо всё склонять на деньги.

PROGRAMMATOR 13.11.2009 20:25

Re: |Задумка|Определеный итем при лвлапе
 
intheend, я кстати об этом и спрашивал на прошлой странице. :)

Цитата:

Сообщение от DorianGrey
т.е. начиная с 20го уровня он получает приз

Вот это как раз не с 20, так как если бы с 20-го, то и в 21 получил бы приз. ;)

DorianGrey 17.11.2009 09:38

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от PROGRAMMATOR (Сообщение 45116)
intheend, я кстати об этом и спрашивал на прошлой странице. :)


Вот это как раз не с 20, так как если бы с 20-го, то и в 21 получил бы приз. ;)

епт так поставьте тода место "==" 20

">" 20

и все, хотя я зделал подругому тупо вписал 95 раз (на серве 95лвл макс):p
и всегда с разной наградой. вписывал == 20; == 21; == 22; и т.д до 95:cool:

Добавлено через 3 минуты
типо этого///

[SPOILER]if (lvl == 20)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
else
if (lvl == 21)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 22)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 23)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 24)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 25)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 26)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 27)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 28)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 29)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 30)
{
sendMessage ("You have recieved 3 stat points.");
getInventory().addItem("FA", 6673, 3, this, this);
}
if (lvl == 31)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 32)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 33)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 34)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 35)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 36)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 37)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 38)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 39)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 40)
{
sendMessage ("You have recieved 4 stat points.");
getInventory().addItem("FA", 6673, 4, this, this);
}
if (lvl == 41)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 42)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 43)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 44)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 45)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 46)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 47)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 48)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 49)
{
sendMessage ("You have recieved 2 stat points.");
getInventory().addItem("FA", 6673, 2, this, this);
}
if (lvl == 50)
{
sendMessage ("You have recieved 5 stat points.");
getInventory().addItem("FA", 6673, 5, this, this);
}
[/SPOILER]


ну и т.д до 95 хД
сервер x20
xD

incognito 21.11.2009 15:24

Re: |Задумка|Определеный итем при лвлапе
 
DorianGrey, вот ето да=)
for (int i=20;i<=95;i++)
{
player........
sendmassage........
}
помойму цикл проще всегда

DorianGrey 18.12.2009 18:04

Re: |Задумка|Определеный итем при лвлапе
 
ну да))) я не додумался) хотя я не мего кодер

PROGRAMMATOR 19.12.2009 08:44

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от DorianGrey
епт так поставьте тода место "==" 20

Просто нет слов, а оно мне нужно или Вы действительно уверены, что я бы использовал ваше решение?

Puma1414 09.02.2012 18:47

Re: |Задумка|Определеный итем при лвлапе
 
ммм а никто не подумал о делевеле и обратном апе? у меня лично это первая мысль была ..

Nehrk 09.02.2012 18:52

Re: |Задумка|Определеный итем при лвлапе
 
Цитата:

Сообщение от Puma1414 (Сообщение 164003)
ммм а никто не подумал о делевеле и обратном апе? у меня лично это первая мысль была ..

Одна проверка, одна таблица.
п.с. 2009 :cc:


Текущее время: 21:39. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot