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

[Шара]Newbie bonus NPC [ Lucera ]

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

index.php?app=downloads&module=display&section=screenshot&id=1363



Название: [Шара]Newbie bonus NPC [ Lucera ]

Добавил: seidhe

Добавлен: 07 Oct 2015

Категория: Серверные дополнения

Автор: Seidhe
Хроники: Interlude

 




Собсно обратился человек с таким вопросом:

 


 

Привет. У меня на сервере был НПЦ, который через мультиселл выдавал бонусные временные крылья для новичков ( у каждого нового перса был итем, который можно было обменять на Крылья новичка, шлем и тату, у которых было ограничено время ношения )

 

Но игроки начали использовать его уже после того, как нафармили, и носить даже не будучи новичками. А потом и дюпали этот итем и постоянно брали эти итемы. Можно как-то решить эту проблему?



Был написан простенький код, который проверял значение в бд ( по умолчанию isNewbie==0 ) и выдавал определенные итемы. в противном случае - слал нафиг. были добавлены проверки на лвл, повторную выдачу итема и класс персонажа.

 

Но парень не выходит на связь, потому данного НПСа я выкладываю в шару.

в комплекте: апдейт бд, html'ка и сам скрипт.

 

 



Нажмите здесь, чтобы скачать файл

  • Upvote 8

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


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

Не забывайте, что для скачивания файлов необходимо зарегистрироваться и иметь не менее 10-ти сообщений на форуме.

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


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

под пв переделать можно ??

импорты поменяй, но мне кажется только этим не обойтись. но попробовать можно)

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


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

Персонаж при создании не попадает в таблицу (_newbie) и любой новый перс считается как старый

Как исправить? (Исхода нету)
Интересуюсь для себя, если не как, то переделаю) 

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


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

как можно сделать чтобы вместо итемов давало па новичкам ?

  • Upvote 1

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


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

ап

 

как можно сделать чтобы вместо итемов давало па новичкам ?

  • Upvote 1

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


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

Пишите в личку

Если выложил скрипт выкладывай рабочий не чего тут людей дурить и просить в лс 

 

 

p/s

 

у кого есть рабочий вариант скиньте в лс

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

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


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

Эм... Никого не дурил.

Так случилось, что это промежуточная версия, в которой бонус не работает. Вообще не пойму что это я скинул :D

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

	private static int NEWBIE_Adena = 57; // id adena
	private static int NEWBIE_Adena_Count = 1000000; // количество адены
	private static int numDays = 7; // кол-во дней премиума
	private static int NPC_ID = 50030;
	private static int NEWBIE_ITEM = 9143;

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


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

 

Эм... Никого не дурил.

Так случилось, что это промежуточная версия, в которой бонус не работает. Вообще не пойму что это я скинул :D

 

Переделал по просьбам пользователей.

Выдача итема и прем.акка за определенный итем.

	private static int NEWBIE_Adena = 57; // id adena
	private static int NEWBIE_Adena_Count = 1000000; // количество адены
	private static int numDays = 7; // кол-во дней премиума
	private static int NPC_ID = 50030;
	private static int NEWBIE_ITEM = 9143;

А где скачать?

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


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

Для того, чтоб бонус был выдан, нужно перезайти в игру.
Т.е при нажатии на "Получить награду", в чат пишет "Вам выдан премиум...", но его нет как и адены.
После перезахода появляется.

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


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

Для того, чтоб бонус был выдан, нужно перезайти в игру.

Т.е при нажатии на "Получить награду", в чат пишет "Вам выдан премиум...", но его нет как и адены.

После перезахода появляется.

Да, необходимо слать пакет на обновление.

Будет время - исправлю. Итем появляется после переоткрытия сумки

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


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

На самом деле Грут выкладывал свой скрипт, в котором, вроде-как, всё это реализовано.

 

Свой скрипт использовать пока не рекомендую. Сделан, мягко говоря, на "тяп-ляп".

А от грута где можно посмотреть и скачать скрипт. ссылку в лс можешь скинуть? 

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


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

А от грута где можно посмотреть и скачать скрипт. ссылку в лс можешь скинуть? 

Юзайте поиск по форуму.

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


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

На самом деле Грут выкладывал свой скрипт, в котором, вроде-как, всё это реализовано.

 

Свой скрипт использовать пока не рекомендую. Сделан, мягко говоря, на "тяп-ляп".

 

Согласно Code Conventions Oracle

http://www.oracle.com/technetwork/java/codeconventions-135099.html

Только константы, советуют писать заглавными буквами.

 

PreparedStatement statement = con.prepareStatement("SELECT isNewbie FROM `_newbie` WHERE charId=?");

Такие вещи, лучше выносить в отдельные поля:

 

String selectNewbieQuery = "SELECT isNewbie FROM `_newbie` WHERE charId=?"

PreparedStatement statement = con.prepareStatement(selectNewbieQuery);

 

В случае если будет эксепшен, statement.close(); не будет выполнен.

Лучше объявлять в final блоке, который выполняется всегда

 

 

P.S: Код делался бесплатно, возможно не уделил ему должного внимания, но все же, что там "тяп-ляп" не пойму, может подскажите? :)

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

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


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

Согласно Code Conventions Oracle

http://www.oracle.com/technetwork/java/codeconventions-135099.html

Только константы, советуют писать заглавными буквами.

 

PreparedStatement statement = con.prepareStatement("SELECT isNewbie FROM `_newbie` WHERE charId=?");

Такие вещи, лучше выносить в отдельные поля:

 

String selectNewbieQuery = "SELECT isNewbie FROM `_newbie` WHERE charId=?"

PreparedStatement statement = con.prepareStatement(selectNewbieQuery);

 

В случае если будет эксепшен, statement.close(); не будет выполнен.

Лучше объявлять в final блоке, который выполняется всегда

 

 

P.S: Код делался бесплатно, возможно не уделил ему должного внимания, но все же, что там "тяп-ляп" не пойму, может подскажите? :)

Не-не, я о своем коде говорил, что я СВОЙ скрипт написал на "тяп-ляп".

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


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

Да, необходимо слать пакет на обновление.

Будет время - исправлю. Итем появляется после переоткрытия сумки

Не знаю как у кого но у меня итем сразу появляется если правильно все настроить и т.п. Хотелось бы конечно что бы он выдавался всего лишь 1 раз. (можно конечно решить это другим путем через добавление стартового итема новичка)

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


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

Не знаю как у кого но у меня итем сразу появляется если правильно все настроить и т.п. Хотелось бы конечно что бы он выдавался всего лишь 1 раз. (можно конечно решить это другим путем через добавление стартового итема новичка)

Совершенно верно. Добавляете квест-итем при старте.

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

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

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

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

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