11.06.2010, 15:30
|
#11
|
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Цитата:
Сообщение от KiriX
Говорят, что не работает. Пропадает полоска опыта, но опыт капает, что странно, глядя на код патча...
|
А вы не верьте -- проверьте.
Цитата:
Сообщение от KiriX
Не то чтобы модифицированный... Просто другой флаг используется, спасибо за подсказку.
|
Тот же, переименованный TOM_RUS-ом.
Цитата:
Сообщение от selector
|
Цитата:
Сообщение от xex
Вы чего? Давно есть в SD2 (я руссифицировал), стоят НПС в Шторме и Оргри:
PHP код:
/*######
## npc_experience_eliminator
######*/
#define GOSSIP_ITEM_STOP_XP_GAIN "Я не хочу больше получать очки опыта."
#define GOSSIP_CONFIRM_STOP_XP_GAIN "Вы уверены что больше не хотите получать очки опыта?"
#define GOSSIP_ITEM_START_XP_GAIN "Я хочу снова получать очки опыта."
#define GOSSIP_CONFIRM_START_XP_GAIN "Вы уверены что хотите снова получать очки опыта?"
bool GossipHello_npc_experience_eliminator(Player* pPlayer, Creature* pCreature)
{
pPlayer->ADD_GOSSIP_ITEM_EXTENDED(
GOSSIP_ICON_CHAT,
pPlayer->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED) ? GOSSIP_ITEM_START_XP_GAIN : GOSSIP_ITEM_STOP_XP_GAIN,
GOSSIP_SENDER_MAIN,
GOSSIP_ACTION_INFO_DEF+1,
pPlayer->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED) ? GOSSIP_CONFIRM_START_XP_GAIN : GOSSIP_CONFIRM_STOP_XP_GAIN,
100000,
false
);
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
return true;
}
bool GossipSelect_npc_experience_eliminator(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
if(uiAction == GOSSIP_ACTION_INFO_DEF+1)
{
// cheater(?) passed through client limitations
if(pPlayer->GetMoney() < 100000)
return true;
pPlayer->ModifyMoney(-100000);
if(pPlayer->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED))
pPlayer->RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED);
else
pPlayer->SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED);
pPlayer->CLOSE_GOSSIP_MENU();
return true;
}
pPlayer->CLOSE_GOSSIP_MENU();
return true;
}
void AddSC_npcs_special()
{
Script* newscript;
newscript = new Script;
newscript->Name = "npc_experience_eliminator";
newscript->pGossipHello = &GossipHello_npc_experience_eliminator;
newscript->pGossipSelect = &GossipSelect_npc_experience_eliminator;
newscript->RegisterSelf();
}
Опс, а бревно то и не заметил
PHP код:
if(HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED))
return;
|
Это всё мой код.
|
|
|