Помогите включить функцию в java - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 10.07.2010, 20:12   #1
Аватар для Дух системы
Пользователь

Автор темы (Топик Стартер) Помогите включить функцию в java

доброго вечера.

есть кастом квест

Код:
package events.DemonicItems;

import com.l2open.gameserver.model.actor.L2Npc;
import com.l2open.gameserver.model.actor.instance.L2PcInstance;
import com.l2open.gameserver.model.quest.Quest;
import com.l2open.gameserver.model.quest.QuestState;
import com.l2open.gameserver.model.CursedWeapon;

public class DemonicItems extends Quest
{
	// NPC
	private final static int PRIEST = 78945;

	public DemonicItems(int questId, String name, String descr)
	{
		super(questId, name, descr);
		addStartNpc(PRIEST);
		addTalkId(PRIEST);
	}
	
	public String onEvent(String event, QuestState qs)
	{
		String htmltext = "";
		int cond = qs.getInt("cond");
		if(event.equalsIgnoreCase("removecw"))
		{
			if (cond == 0)
			{
				if(qs.getQuestItemsCount(8689) >= 1)
				{
					cw.endOfLife();
					qs.takeItems(8689, 1);
					qs.giveItems(90000, 1);
					qs.playSound("ItemSound.quest_itemget");
					htmltext = "2.htm";
				}
				else
					htmltext = "3.htm";
			}
		}
		return htmltext;
	}

	public String onTalk(L2Npc npc, L2PcInstance player)
	{
		String htmltext = "";
		QuestState st = player.getQuestState(getName());
		htmltext = "<html><body>I have nothing to say to you.</body></html>";
		if (st == null)
			return htmltext;
		int npcId = npc.getNpcId();
		if (npcId == PRIEST)
		{
			htmltext = "1.htm";
			st.set("cond", "0");
		}
		return htmltext;
	}

	public static void main(String[] args)
	{
		new DemonicItems(-1, "DemonicItems", "events");
	}
}
собсно ругается на cw.endOfLife();
endOfLife() находится в com.l2open.gameserver.model.CursedWeapon;
как определить эту cw?
__________________
Дух системы вне форума Отправить сообщение для Дух системы с помощью ICQ Ответить с цитированием
Непрочитано 10.07.2010, 21:06   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Помогите включить функцию в java

[SOURCE="java"]CursedWeapon cw = new CursedWeapon(id, skillId, name);[/SOURCE]
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 10.07.2010, 22:20   #3
Аватар для Дух системы
Пользователь

Автор темы (Топик Стартер) Re: Помогите включить функцию в java

PROGRAMMATOR, спасибо за ответ. но с этим ответом все стало еще более непонятнее.
Код:
1. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon cw = new CursedWeapon(id, skillId, name);
                                           ^^
id cannot be resolved
----------
2. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon cw = new CursedWeapon(id, skillId, name);
                                               ^^^^^^^
skillId cannot be resolved
----------
3. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon cw = new CursedWeapon(id, skillId, name);
                                                        ^^^^
name cannot be resolved
----------
3 problems (3 errors)id cannot be resolved
skillId cannot be resolved
name cannot be resolved
10 июля 22:18:59: [WARNING] Failed executing script: C:\Web\GS\L2jcore2\Game\data
мне необходимо реализовать снятие проклятого оружия с игрока и дать итем.
глянув в AdminCursedWeapons.java понял что снимается все это функцией endOfLife(), которая лежит в CursedWeapon.java.

нельзя ли как то обратиться к этой функции?
__________________
Дух системы вне форума Отправить сообщение для Дух системы с помощью ICQ Ответить с цитированием
Непрочитано 11.07.2010, 00:46   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Помогите включить функцию в java

Напрямую попробовать:
[SOURCE="java"]CursedWeapon.endOfLife();[/SOURCE]
или
[SOURCE="java"]CursedWeapon.getInstance().endOfLife();[/SOURCE]

Как-то так.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 11.07.2010, 12:58   #5
Аватар для Lavs
Пользователь

По умолчанию Re: Помогите включить функцию в java

Она xml определяется в датапаке.
Помоему CursedWeapon.xml
Lavs вне форума Отправить сообщение для Lavs с помощью ICQ Ответить с цитированием
Непрочитано 14.07.2010, 21:04   #6
Аватар для Дух системы
Пользователь

Автор темы (Топик Стартер) Re: Помогите включить функцию в java

PROGRAMMATOR, не получается, помоги разобраться
Код:
----------
1. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon.endOfLife();
        ^^^^^^^^^^^^^^^^^^^^^^^^
Cannot make a static reference to the non-static method endOfLife() from the typ
e CursedWeapon
----------
1 problem (1 error)Cannot make a static reference to the non-static method endOf
Life() from the type com.l2open.gameserver.model.CursedWeapon
Код:
----------
1. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon.getInstance().endOfLife();
                     ^^^^^^^^^^^
The method getInstance() is undefined for the type CursedWeapon
----------
1 problem (1 error)The method getInstance() is undefined for the type com.l2open
.gameserver.model.CursedWeapon
Lavs, там только шанс выпадения и id итема
__________________
Дух системы вне форума Отправить сообщение для Дух системы с помощью ICQ Ответить с цитированием
Непрочитано 01.08.2010, 21:27   #7
Аватар для Дух системы
Пользователь

Автор темы (Топик Стартер) Re: Помогите включить функцию в java

реализовал

Код:
					CursedWeaponsManager cwm = CursedWeaponsManager.getInstance();
					for (CursedWeapon cw : cwm.getCursedWeapons())
					{
						cw.endOfLife();
					}
__________________
Дух системы вне форума Отправить сообщение для Дух системы с помощью ICQ Ответить с цитированием
Непрочитано 01.08.2010, 23:14   #8
Аватар для n3k0nation
Antihero

По умолчанию Re: Помогите включить функцию в java

Цитата:
Сообщение от Дух системы Посмотреть сообщение
реализовал

Код:
					CursedWeaponsManager cwm = CursedWeaponsManager.getInstance();
					for (CursedWeapon cw : cwm.getCursedWeapons())
					{
						cw.endOfLife();
					}
Таким образом будут удалено все проклятое оружие из игры, даже его носит другой игрок, если я правильно понял, то нужно для игрока, который проходит квест, можно сделать вот так, например:
Код:
csw.getCursedWeapon(player.getCursedWeaponEquipedId()).endOfLife();
P.S: перед этим желательно сделать проверку isCursedWeaponEquipped().
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Непрочитано 02.08.2010, 21:48   #9
Аватар для Дух системы
Пользователь

Автор темы (Топик Стартер) Re: Помогите включить функцию в java

интересно, надо будет проверить

откуда взят csw??
__________________
Дух системы вне форума Отправить сообщение для Дух системы с помощью ICQ Ответить с цитированием
Непрочитано 03.08.2010, 08:27   #10
Пользователь

По умолчанию Re: Помогите включить функцию в java

Цитата:
Сообщение от Дух системы Посмотреть сообщение
PROGRAMMATOR, спасибо за ответ. но с этим ответом все стало еще более непонятнее.
Код:
1. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon cw = new CursedWeapon(id, skillId, name);
                                           ^^
id cannot be resolved
----------
2. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon cw = new CursedWeapon(id, skillId, name);
                                               ^^^^^^^
skillId cannot be resolved
----------
3. ERROR in \DemonicItems.java (at line 30)
        CursedWeapon cw = new CursedWeapon(id, skillId, name);
                                                        ^^^^
name cannot be resolved
----------
3 problems (3 errors)id cannot be resolved
skillId cannot be resolved
name cannot be resolved
10 июля 22:18:59: [WARNING] Failed executing script: C:\Web\GS\L2jcore2\Game\data
мне необходимо реализовать снятие проклятого оружия с игрока и дать итем.
глянув в AdminCursedWeapons.java понял что снимается все это функцией endOfLife(), которая лежит в CursedWeapon.java.

нельзя ли как то обратиться к этой функции?
у тя не определены аргументы конструктора:
name cannot be resolved
----------
3 problems (3 errors)id cannot be resolved
skillId cannot be resolved
name cannot be resolved

их нет...
нужно определить int id = ....
int skillId = ...
String name = "..."
pitch вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите включить диспетчер задач DeRoyal Курилка / Yak floor 1 23.12.2009 20:13
Помогите с JAVA TM Dr.Jeem Lineage II 2 19.12.2009 15:32
Не знаю как включить... MrArt Движки сайтов (CMS) 2 15.06.2009 14:12
Не могу включить дополнения BC и TLK LovkiY World of WarCraft 7 01.04.2009 12:26
Как сделать функцию .offline .autoloot?Очень прошу, помогите! mmeemm Lineage II 7 20.03.2009 23:36


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 10:24. Часовой пояс GMT +3.

Вверх