Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Вопрос о скрипте java (квест\аи)
#1
Добрый вечер!

Не знаю как объявить переменную чтоб она была только для 1 игрока.

Простой пример:

Игроку необходимо убить 50 мобов.
Я объявляю переменную private int _kill_mobs = 0;

Если таких игроков будет несколько и убивать они будут все вмести - то переменная будет увеличена с каждым убитым мобом, от этих игроков, а необходимо чтоб только для 1 игрока она увеличивалась.

Можно это сделать через БД (QuestState), где каждый раз будет изменятся переменная _kill_mobs для 1 игрока, но таким образом будет очень много запросов к бд. Это естественно прокатит, но хотелось бы без лишних коннектов к ней)


Возможно кто-то сможет мне помочь.
Ответ
#2
В каком смысле вместе? В группе что ли?
Ответ
#3
st.set
st.get
Ответ
#4
Main;330630 Написал:Если таких игроков будет несколько и убивать они будут все вмести - то переменная будет увеличена
Если она статичная, то да.
Ответ
#5
Моветон Написал:В каком смысле вместе? В группе что ли?
Нет, без группы или в группе - главное чтоб у них был квест.
iqman Написал:st.set
st.get
Это через QuestState - я так сделал, хочу без него.
KilRoy Написал:Если она статичная, то да.
Она статичная, но нужно сделать только для 1 текущего игрока, а не для всех у кого этот квест.
Ответ
#6
Main;330638 Написал:Она статичная
Статичная - private static, будет общей для игроков
private val - для экземпляра класса(для 1го игрока)
Ответ
#7
Это сработает до рестарта, человеку как я понял нужно с сохранением.
Ответ
#8
iqman;330644 Написал:Это сработает до рестарта, человеку как я понял нужно с сохранением.
Main;330638 Написал:но нужно сделать только для 1 текущего игрока, а не для всех у кого этот квест
..........
Ответ
#9
Вводите переменную, как подсказал KilRoy, а при обновлении статуса или логауте сохраняете в базу. Что-то мне да подсказывает, что такой небольшой нагрузкой можно пренебречь, даже если все игроки соберутся и будут их бить.
Ответ
#10
iqman Написал:Это сработает до рестарта, человеку как я понял нужно с сохранением.
Это не проблема.
Zeratyl Написал:Вводите переменную, как подсказал KilRoy, а при обновлении статуса или логауте сохраняете в базу. Что-то мне да подсказывает, что такой небольшой нагрузкой можно пренебречь, даже если все игроки соберутся и будут их бить.
Насчет сохранения и загрузки сомо собой.
Я понимаю, но если таких квестов будет много? У меня и так проблемы с БД обычно, хотелось бы как можно меньше нагрузки на неё.

Спасибо KilRoy, буду проверять!
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  java прогер Light87 0 1,954 01-18-2021, 12:15 AM
Последний пост: Light87
  Вопрос по AI моба и дроп с нпц mercury320 7 2,403 08-29-2018, 04:14 PM
Последний пост: Zubastic
  Помогите переписать скрипт с Python на Java Virrilis3 0 1,497 03-29-2018, 10:55 PM
Последний пост: Virrilis3
  НПС не дает квест Dilar 1 1,642 03-20-2018, 08:17 PM
Последний пост: Emperor
  Квест 7 печатей как включить, как управлять! v1kt0r 5 2,982 04-29-2017, 01:17 PM
Последний пост: zGoSu
  Ищу исполнителя [Java] Abstragetic 3 2,188 02-05-2017, 03:01 AM
Последний пост: Deazer
  Вопрос Клиент-Сервер Melargus 12 3,388 07-12-2016, 11:13 PM
Последний пост: FaintSmile
  альт+G java HiredKiller 10 3,516 12-15-2015, 09:40 AM
Последний пост: HiredKiller
  Servise Manager Lucera 2 Java 8. DiName 8 2,778 12-07-2015, 07:43 AM
Последний пост: Deazer
  Дюп через Kamaloka.java dantest 7 2,381 09-14-2015, 09:01 PM
Последний пост: dantest

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)