- Mesaj
- 11.494
- Çözümler
- 546
- Beğeni
- 12.054
- Puan
- 5.864
Server/game/src/char.cpp açılır ve aratılır;
Kod blogunu { ..code.. }; şu kodlarla değiştir:
Server/game/src/char.h açılır ve aratılır;
Hepsini şu kodlarla değiştir:
Server/game/src/cmd_general.cpp açılır ve aratılır;
Altında biryerlerde şu kod olacak;
Altına şu kod eklenir:
Ayrıca orada;
böyle bir kod varsa silin çünkü sadece gm oyuncuların ekipmanlarına bakması için yapılmış bir engelleme
Sıra Clientsrc'ye geldi.
Client/UserInterface/packet.h açılır ve aratılır;
Hepsini şu kodlarla değiştir:
Client/UserInterface/PythonPlayerModule.cpp açılır ve aratılır;
Kodları şu kodlarla değiştir:
Client src bitti.
Sıra pythona geldi.
root/uitarget.py açılır ve aratılır;
Altına şu kod eklenir:
root/uitarget.py ilk başındaki;
Şu kodu aralarına ekleyin:
Aratın;
Altına şu kod eklenir:
Aratın;
Hepsini şu kodlarla değiştir:
root/uioption.py açılır ve aratılır;
Altına şu kodlar eklenir;
Altına şu kod eklenir;
root/uigameoption.py açılır ve aratılır;
Altına şu kod eklenir:
Aratın;
Altına şu kod eklenir:
Tekrar Aratın;
Altına şu kod eklenir:
Aratın;
Altına şu kod eklenir:
ve root bölümüde bitti
sıra uiscript'e geldi
uiscript/gameoptiondialog.py açılır ve aratılır;
Altına şu kod eklenir:
Not: Kodların aralarını x y ayarıyla düzenlemeniz gerek. Çünkü iç içe girerler her butonun mesefasi 25'dir;
c++ ve python bölümü bitti
sıra questlere (lua) geldi
game_option.quest açılır;
Aralarına biryerine ekleyin:
Locale_stringe ekleyin;
Sistemin çalıştığına dair kanıtlar;
C++:
void CHARACTER::SetBlockMode(BYTE bFlag)
C++:
void CHARACTER::SetBlockMode(BYTE bFlag)
{
m_pointsInstant.bBlockMode = bFlag;
ChatPacket(CHAT_TYPE_COMMAND, "setblockmode %d", m_pointsInstant.bBlockMode);
SetQuestFlag("game_option.block_exchange", bFlag & BLOCK_EXCHANGE ? 1 : 0);
SetQuestFlag("game_option.block_party_invite", bFlag & BLOCK_PARTY_INVITE ? 1 : 0);
SetQuestFlag("game_option.block_guild_invite", bFlag & BLOCK_GUILD_INVITE ? 1 : 0);
SetQuestFlag("game_option.block_whisper", bFlag & BLOCK_WHISPER ? 1 : 0);
SetQuestFlag("game_option.block_messenger_invite", bFlag & BLOCK_MESSENGER_INVITE ? 1 : 0);
SetQuestFlag("game_option.block_party_request", bFlag & BLOCK_PARTY_REQUEST ? 1 : 0);
SetQuestFlag("game_option.block_view_equipment", bFlag & BLOCK_VIEW_EQUIPMENT ? 1 : 0);
}
Server/game/src/char.h açılır ve aratılır;
C:
enum EBlockAction
C:
enum EBlockAction
{
BLOCK_EXCHANGE = (1 << 0),
BLOCK_PARTY_INVITE = (1 << 1),
BLOCK_GUILD_INVITE = (1 << 2),
BLOCK_WHISPER = (1 << 3),
BLOCK_MESSENGER_INVITE = (1 << 4),
BLOCK_PARTY_REQUEST = (1 << 5),
BLOCK_VIEW_EQUIPMENT = (1 << 6),
};
Server/game/src/cmd_general.cpp açılır ve aratılır;
C++:
ACMD(do_view_equip)
C++:
if (!tch->IsPC())
return;
C++:
if (tch->IsBlockMode(BLOCK_VIEW_EQUIPMENT))
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ekipman konusmasi"));
return;
}
C++:
if (ch->GetGMLevel() <= GM_PLAYER)
return;
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
Sıra Clientsrc'ye geldi.
Client/UserInterface/packet.h açılır ve aratılır;
C:
enum EBlockAction
C:
enum EBlockAction
{
BLOCK_EXCHANGE = (1 << 0),
BLOCK_PARTY_INVITE = (1 << 1),
BLOCK_GUILD_INVITE = (1 << 2),
BLOCK_WHISPER = (1 << 3),
BLOCK_MESSENGER_INVITE = (1 << 4),
BLOCK_PARTY_REQUEST = (1 << 5),
BLOCK_VIEW_EQUIPMENT = (1 << 6),
};
Client/UserInterface/PythonPlayerModule.cpp açılır ve aratılır;
C++:
// Block Mode
C++:
PyModule_AddIntConstant(poModule, "BLOCK_EXCHANGE", BLOCK_EXCHANGE);
PyModule_AddIntConstant(poModule, "BLOCK_PARTY", BLOCK_PARTY_INVITE);
PyModule_AddIntConstant(poModule, "BLOCK_GUILD", BLOCK_GUILD_INVITE);
PyModule_AddIntConstant(poModule, "BLOCK_WHISPER", BLOCK_WHISPER);
PyModule_AddIntConstant(poModule, "BLOCK_FRIEND", BLOCK_MESSENGER_INVITE);
PyModule_AddIntConstant(poModule, "BLOCK_PARTY_REQUEST", BLOCK_PARTY_REQUEST);
PyModule_AddIntConstant(poModule, "BLOCK_VIEW_EQUIPMENT", BLOCK_VIEW_EQUIPMENT);
Sıra pythona geldi.
root/uitarget.py açılır ve aratılır;
Python:
self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
Python:
self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
root/uitarget.py ilk başındaki;
Python:
BUTTON_NAME_LIST = (
Python:
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Aratın;
Python:
def __OnExitObserver(self):
net.SendChatPacket("/observer_exit")
Python:
def __OnViewEquipment(self):
net.SendChatPacket("/view_equip " + str(self.vid))
Aratın;
Python:
def ShowDefaultButton(self):
Python:
def ShowDefaultButton(self):
self.isShowButton = TRUE
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_WHISPER])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_EXCHANGE])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_FIGHT])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT])
self.showingButtonList.append(self.buttonDict[localeInfo.TARGET_BUTTON_EMOTION_ALLOW])
for button in self.showingButtonList:
button.Show()
root/uioption.py açılır ve aratılır;
Python:
self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
Python:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
Python:
self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)
Python:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
Python:
self.blockButtonList.append(GetObject("block_friend_button"))
Kod:
self.blockButtonList.append(GetObject("block_view_equipment_button"))
root/uigameoption.py açılır ve aratılır;
Python:
def __OnClickBlockPartyButton(self):
self.RefreshBlock()
global blockMode
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_PARTY))
Python:
def __OnClickBlockViewEquipmentButton(self):
self.RefreshBlock()
global blockMode
net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_VIEW_EQUIPMENT))
Aratın;
Python:
self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
Python:
self.blockButtonList[6].SetToggleUpEvent(self.__OnClickBlockViewEquipmentButton)
Tekrar Aratın;
Python:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyRequest)
Python:
self.blockButtonList[6].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
Aratın;
Python:
self.blockButtonList.append(GetObject("block_party_request_button"))
Python:
self.blockButtonList.append(GetObject("block_view_equipment_button"))
sıra uiscript'e geldi
uiscript/gameoptiondialog.py açılır ve aratılır;
Python:
"name" : "block_party_request_button",
Not: Kodların aralarını x y ayarıyla düzenlemeniz gerek. Çünkü iç içe girerler her butonun mesefasi 25'dir;
Python:
{ "name" : "block_view_equipment_button",
"type" : "toggle_button",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
"y" : 165,
"text" : "Profil",
"default_image" : ROOT_PATH + "middle_button_01.sub",
"over_image" : ROOT_PATH + "middle_button_02.sub",
"down_image" : ROOT_PATH + "middle_button_03.sub",
},
sıra questlere (lua) geldi
game_option.quest açılır;
Aralarına biryerine ekleyin:
Lua (Quest):
if pc.getqf("block_view_equipment") == 1 then
msg = msg.."Profil "
val = val + 64
end
Locale_stringe ekleyin;
Kod:
"ekipman konusmasi";
"|cffFFC125Karşınızdaki oyuncu profil görüntülemeyi blokladı.";
Sistemin çalıştığına dair kanıtlar;
Son düzenleme: