ce probleme am vazut ca are:
1.mai trebuie adaptat putin ca nu blockeaza duel si emotie si pentru unele persone poate sa fie frustrant sa te spameze
2.daca ai blocat pe cineva si a folosit item de schimbat nume poate sa iti trimita din nou mesaj trebuie adaptat putin
system sa blockeze cont-ul nu numele sau id la character
3.daca personana este offline nu merge sa ii dai block
4.merge system dar ii putin c-am old school asa
Lipseste niste functii :
uiscript de la mesengerwindow,py cauta si adauga sub functia MESSENGER_DELETE_FRIEND
daca va da erroare aici ca nu exista messenger_block cautati si voi prin alt server si le adaugati in etc/ui/game/window ca eu nu le aveam
{
"name" : "PlayerBlockButton",
"type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*4,
"y" : 30,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"tooltip_text" : uiScriptLocale.MESSENGER_PLAYER_BLOCK,
"tooltip_x" : 0,
"tooltip_y" : 35,
"default_image" : "d:/ymir work/ui/game/windows/messenger_block_01.sub",
"over_image" : "d:/ymir work/ui/game/windows/messenger_block_02.sub",
"down_image" : "d:/ymir work/ui/game/windows/messenger_block_03.sub",
"disable_image" : "d:/ymir work/ui/game/windows/messenger_block_04.sub",
},
uitarget.py in BUTTON_NAME_LIST = ( adaugati jos dupa ultimul localeInfo Exemplu asta ii ultimul la mine: localeInfo.TARGET_BUTTON_EMOTION_ALLOW,
localeInfo.TARGET_BUTTON_BLOCK,
si pe locale
locale_game.txt
MESSENGER_BLOCK Blocked
MESSENGER_PLAYER_BLOCK Block
TARGET_BUTTON_BLOCK Block
locale_interface.txt
MESSENGER_PLAYER_BLOCK Block
mesenger_manager.cpp v-am lasat toata functia cum am editat eu si merge
#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
void MessengerManager::__RemoveFromList(MessengerManager::keyA account, MessengerManager::keyA companion, bool isComp)
{
m_Relation[account].erase(companion);
m_InverseRelation[companion].erase(account);
m_Relation[companion].erase(account);
m_InverseRelation[account].erase(companion);
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindPC(account.c_str());
if (ch)
{
if (!isComp)
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<메신져> %s 님을 메신저에서 삭제하였습니다."), companion.c_str());
else
ch->ChatPacket(CHAT_TYPE_COMMAND, "RemoveFriend %s", companion.c_str());
}
LPCHARACTER tch = CHARACTER_MANAGER::Instance().FindPC(companion.c_str());
if (tch && tch->GetDesc())
{
TPacketGCMessenger p;
p.header = HEADER_GC_MESSENGER;
p.subheader = MESSENGER_SUBHEADER_GC_REMOVE_FRIEND;
p.size = sizeof(TPacketGCMessenger) + sizeof(BYTE) + account.size();
BYTE bLen = account.size();
tch->GetDesc()->BufferedPacket(&p, sizeof(p));
tch->GetDesc()->BufferedPacket(&bLen, sizeof(BYTE));
tch->GetDesc()->Packet(account.c_str(), account.size());
}
}
#else
void MessengerManager::__RemoveFromList(MessengerManager::keyA account, MessengerManager::keyA companion)
{
m_Relation[account].erase(companion);
m_InverseRelation[companion].erase(account);
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindPC(account.c_str());
LPDESC d = ch ? ch->GetDesc() : NULL;
if (d)
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<메신져> %s 님을 메신저에서 삭제하였습니다."), companion.c_str());
}
#endif
![[C++/Py] System Block Player (Full & Functional) - Mesaj 2 - Imagine 3 [C++/Py] System Block Player (Full & Functional) - Mesaj 2 - Imagine 3](./download/file.php?mode=view&id=6476)