Перейти к содержанию
Авторизация  
Grek

Ошибка Скрипта На Клан Репу

Рекомендуемые сообщения

Народ что за ошибка скрипт на клан репу набиваешь коинты сдаешь и дает клан репу, все сделал нпц создал итем вроде был в базе уже, кто реально поможет дам плюсик)

 

вот ошибка в гс

1. ERROR in /Rep.java (at line 36)

talker.getInventory().updateInventory(item);

^^^^^^^^^^^^^^^

The method updateInventory(L2ItemInstance) is undefined for the type PcInventory

 

вот ошибка в срипт ерор

 

Error on: /d/server/game/data/scripts/quests/Rep/Rep.java.error.log

Line: -1 - Column: -1

 

compilation failed

 

вот сам скрипт

 

package quests.Rep;

 

import net.sf.l2j.gameserver.model.L2Clan;

import net.sf.l2j.gameserver.model.L2ItemInstance;

import net.sf.l2j.gameserver.model.L2World;

import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

import net.sf.l2j.gameserver.model.quest.jython.QuestJython;

import net.sf.l2j.gameserver.network.serverpackets.PledgeShowInfoUpdate;

 

public class Rep extends QuestJython

{

private final static int npcId = 65009;

 

public Rep(int questId, String name, String descr)

{

super(questId, name, descr, 1);

 

addStartNpc(npcId);

addTalkId(npcId);

}

 

@Override

public String onTalk(L2NpcInstance npc, L2PcInstance talker)

{

L2Clan clan = talker.getClan();

if(clan == null)

return "<html><body>У вас нет клана.</body></html>";

if(clan.getLevel() < 5)

return "<html><body>Необходим 5-й уровень клана.</body></html>";

L2ItemInstance item = talker.getInventory().getItemByItemId(4357);

if(item != null)

{

final int count = item.getCount() * 100;

item = talker.getInventory().destroyItem("Rep", item, talker, npc);

talker.getInventory().updateInventory(item);

L2World.getInstance().removeObject(item);

clan.setReputationScore(clan.getReputationScore() + count, true);

clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan));

return "<html><body>Все коины успешно обменены на клановую репутацию.</body></html>";

}

return "<html><body>У вас нет коинов репутации клана.</body></html>";

}

 

public static void main(String... arguments)

{

new Rep(-1, "Repchanger", "custom");

}

}

Изменено пользователем Grek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помогу за отдельную плату. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет метода, вызываемого скриптом.

а по подробнее, как и что

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что поподробнее? Есть класс инвентаря игрока - L2PcInventory, в нём есть методы добавления, удаления, обновления и т.д..

 

В скрипте указывается метод updateInventory класса L2PcInventory, с вложенным аргументом item, что является объектом класса L2ItemInstance.

 

Но в используемой сборке нет такого метода в классе L2PcInventory.

 

Подробнее некуда, дальше только мозг.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что поподробнее? Есть класс инвентаря игрока - L2PcInventory, в нём есть методы добавления, удаления, обновления и т.д..

 

В скрипте указывается метод updateInventory класса L2PcInventory, с вложенным аргументом item, что является объектом класса L2ItemInstance.

 

Но в используемой сборке нет такого метода в классе L2PcInventory.

 

Подробнее некуда, дальше только мозг.

То есть этот метод L2PcInventory которого нету, надо заменить на тот который есть, или не так понял :)

Изменено пользователем Grek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так есть добрые люди, которые помогут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так есть добрые люди, которые помогут

Как я понял данное чудо talker.getInventory().updateInventory(item); обновляет item Id 4357 в инвентаре (То есть пакет клиенту ). или хз что там удалить и не парится :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понял данное чудо talker.getInventory().updateInventory(item); обновляет item Id 4357 в инвентаре (То есть пакет клиенту ). или хз что там удалить и не парится :)

то есть надо просто ид предмета поменять?

Изменено пользователем Grek

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удалите целиком строку talker.getInventory().updateInventory(item);

или-же попробуйте так talker.getInventory().updateInventory();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал в первом случае ошибка осталась, во втором вообще ошибок нету квест не работает лог не открывается, тема актуальна

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сделал в первом случае ошибка осталась, во втором вообще ошибок нету квест не работает лог не открывается, тема актуальна

У вас сборка какая? Импорты правильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сборка pwsoft, да импорты правильные, тем более были бы не те било бы ошибку

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сборка pwsoft, да импорты правильные, тем более были бы не те било бы ошибку

Зничит проблема не только в talker.getInventory().updateInventory(item);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вам же ясно сказали, что метод updateInventory() отсутствует в классе PcInventory (или L2PcInventory). Смотрите через декомпилятор данный класс и ищите подходящий метод.

Изменено пользователем DiQuero

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В PW Soft нету такого метода. :) Поэтому подключаем InventoryUpdate.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...