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

Пропадает статус Героя

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

Ребят, помогите, при покупке хиро статуса всё ок, но когда человек перезаходит в игру хиро пропадает, не знаю что делать ошибок в консоле нету, видел тему на форуме но не понял ничего, объясните плиз

 

package services;



import java.util.ArrayList;
import java.util.List;

import core.gameserver.Config;
import core.gameserver.data.htm.HtmCache;
import core.gameserver.data.xml.holder.ItemHolder;
import core.gameserver.model.Player;
import core.gameserver.model.entity.Hero;
import core.gameserver.model.entity.olympiad.Olympiad;
import core.gameserver.network.l2.components.SystemMsg;
import core.gameserver.network.l2.s2c.SkillList;
import core.gameserver.network.l2.s2c.SocialAction;
import core.gameserver.scripts.Functions;
import core.gameserver.templates.StatsSet;

public class BuyHeroStatus extends Functions
{
public void list()
{
Player player = getSelf();
if(!Config.SERVICES_HERO_SELL_ENABLED)
{
show(HtmCache.getInstance().getNotNull("npcdefault.htm", player), player);
return;
}
String html = null;

html = HtmCache.getInstance().getNotNull("scripts/services/BuyHero.htm", player);
String add = "";
for(int i = 0; i < Config.SERVICES_HERO_SELL_DAY.length; i++)
add += " + "for " + Config.SERVICES_HERO_SELL_DAY + //
" days - " + Config.SERVICES_HERO_SELL_PRICE + //
" " + ItemHolder.getInstance().getTemplate(Config.SERVICES_HERO_SELL_ITEM).getName() + "

";
html = html.replaceFirst("%toreplace%", add);


show(html, player);
}

public void get(String[] param)
{
Player player = getSelf();
if(!Config.SERVICES_HERO_SELL_ENABLED)
{
player.sendMessage(player.isLangRus() ? "Данный сервис недоступен." : "This service is not available.");
return;
}

if(player.isHero())
{
player.sendMessage(player.isLangRus() ? "Вы уже являетесь Героем." : "You already are a hero.");
return;
}

int i = Integer.parseInt(param[0]);
if((Functions.getItemCount(player, Config.SERVICES_HERO_SELL_ITEM) >= Config.SERVICES_HERO_SELL_PRICE))
{
if(!player.isNoble())
{
Olympiad.addNoble(player);
player.setNoble(true);
player.updateNobleSkills();
}

player.setVar("HeroPeriod", (System.currentTimeMillis() + 60 * 1000 * 60 * 24 * Config.SERVICES_HERO_SELL_DAY), -1);
Functions.removeItem(player, Config.SERVICES_HERO_SELL_ITEM, Config.SERVICES_HERO_SELL_PRICE);

StatsSet hero = new StatsSet();
hero.set(Olympiad.CLASS_ID, player.getBaseClassId());
hero.set(Olympiad.CHAR_ID, player.getObjectId());
hero.set(Olympiad.CHAR_NAME, player.getName());
hero.set(Hero.ACTIVE, 1);

List heroesToBe = new ArrayList();
heroesToBe.add(hero);

Hero.getInstance().computeNewHeroes(heroesToBe);
player.setHero(true);
Hero.addSkills(player);
player.broadcastPacket(new SocialAction(player.getObjectId(), 16));
player.updatePledgeClass();
player.sendPacket(new SkillList(player));
player.broadcastUserInfo(true);
}
else
player.sendPacket(SystemMsg.INCORRECT_ITEM_COUNT);
}
}

 

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


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

Ребят, помогите, при покупке хиро статуса всё ок, но когда человек перезаходит в игру хиро пропадает, не знаю что делать ошибок в консоле нету, видел тему на форуме но не понял ничего, объясните плиз

 

package services;

 

import java.util.ArrayList;

import java.util.List;

 

import core.gameserver.Config;

import core.gameserver.data.htm.HtmCache;

import core.gameserver.data.xml.holder.ItemHolder;

import core.gameserver.model.Player;

import core.gameserver.model.entity.Hero;

import core.gameserver.model.entity.olympiad.Olympiad;

import core.gameserver.network.l2.components.SystemMsg;

import core.gameserver.network.l2.s2c.SkillList;

import core.gameserver.network.l2.s2c.SocialAction;

import core.gameserver.scripts.Functions;

import core.gameserver.templates.StatsSet;

 

public class BuyHeroStatus extends Functions

{

public void list()

{

Player player = getSelf();

if(!Config.SERVICES_HERO_SELL_ENABLED)

{

show(HtmCache.getInstance().getNotNull("npcdefault.htm", player), player);

return;

}

String html = null;

 

html = HtmCache.getInstance().getNotNull("scripts/services/BuyHero.htm", player);

String add = "";

for(int i = 0; i < Config.SERVICES_HERO_SELL_DAY.length; i++)

add += " + "for " + Config.SERVICES_HERO_SELL_DAY + //

" days - " + Config.SERVICES_HERO_SELL_PRICE + //

" " + ItemHolder.getInstance().getTemplate(Config.SERVICES_HERO_SELL_ITEM).getName() + "

";

html = html.replaceFirst("%toreplace%", add);

 

 

show(html, player);

}

 

public void get(String[] param)

{

Player player = getSelf();

if(!Config.SERVICES_HERO_SELL_ENABLED)

{

player.sendMessage(player.isLangRus() ? "Данный сервис недоступен." : "This service is not available.");

return;

}

 

if(player.isHero())

{

player.sendMessage(player.isLangRus() ? "Вы уже являетесь Героем." : "You already are a hero.");

return;

}

 

int i = Integer.parseInt(param[0]);

if((Functions.getItemCount(player, Config.SERVICES_HERO_SELL_ITEM) >= Config.SERVICES_HERO_SELL_PRICE))

{

if(!player.isNoble())

{

Olympiad.addNoble(player);

player.setNoble(true);

player.updateNobleSkills();

}

 

player.setVar("HeroPeriod", (System.currentTimeMillis() + 60 * 1000 * 60 * 24 * Config.SERVICES_HERO_SELL_DAY), -1);

Functions.removeItem(player, Config.SERVICES_HERO_SELL_ITEM, Config.SERVICES_HERO_SELL_PRICE);

 

StatsSet hero = new StatsSet();

hero.set(Olympiad.CLASS_ID, player.getBaseClassId());

hero.set(Olympiad.CHAR_ID, player.getObjectId());

hero.set(Olympiad.CHAR_NAME, player.getName());

hero.set(Hero.ACTIVE, 1);

 

List heroesToBe = new ArrayList();

heroesToBe.add(hero);

 

Hero.getInstance().computeNewHeroes(heroesToBe);

player.setHero(true);

Hero.addSkills(player);

player.broadcastPacket(new SocialAction(player.getObjectId(), 16));

player.updatePledgeClass();

player.sendPacket(new SkillList(player));

player.broadcastUserInfo(true);

}

else

player.sendPacket(SystemMsg.INCORRECT_ITEM_COUNT);

}

}

 

Видимо в базе значение не меняет, хиро статус дает, но не сохраняет.

 

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


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

Видимо в базе значение не меняет, хиро статус дает, но не сохраняет.

 

И что делать?

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


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

Смотреть конфиг сервиса покупки Геройства, смотреть включено ли в конфиге сохранение статуса Геройства в БД (Баду Данных).

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

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


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

Смотреть конфиг сервиса покупки Геройства, смотреть включено ли в конфиге сохранение статуса Геройства в БД (Баду Данных).

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

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


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

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

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

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

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

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

Войти

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

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

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

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

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