HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Ufak tefek eksikler var (locale_game, locale_interface, locale_string) ve aşağıda eklediğim kısım.
Haricinde sorunsuz eline sağlık.
uiscript/messengerwindow.py
[CODE lang="python" title="messengerwindow.py --> ara"]
{
"name" : "GuildButton",
"type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*4,
"y" : 30,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"tooltip_text" : uiScriptLocale.MESSENGER_OPEN_GUILD,
"tooltip_x" : 0,
"tooltip_y" : 35,
"default_image" : "d:/ymir work/ui/game/windows/messenger_guild_01.sub",
"over_image" : "d:/ymir work/ui/game/windows/messenger_guild_02.sub",
"down_image" : "d:/ymir work/ui/game/windows/messenger_guild_03.sub",
"disable_image" : "d:/ymir work/ui/game/windows/messenger_guild_04.sub",
},
[/CODE]
[CODE lang="python" title="messengerwindow.py --> altına ekle"]
{
"name" : "PlayerBlockButton",
"type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*5,
"y" : 30,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"tooltip_text" : uiScriptLocale.MESSENGER_ADD_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",
},
[/CODE]
Haricinde sorunsuz eline sağlık.
uiscript/messengerwindow.py
[CODE lang="python" title="messengerwindow.py --> ara"]
{
"name" : "GuildButton",
"type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*4,
"y" : 30,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"tooltip_text" : uiScriptLocale.MESSENGER_OPEN_GUILD,
"tooltip_x" : 0,
"tooltip_y" : 35,
"default_image" : "d:/ymir work/ui/game/windows/messenger_guild_01.sub",
"over_image" : "d:/ymir work/ui/game/windows/messenger_guild_02.sub",
"down_image" : "d:/ymir work/ui/game/windows/messenger_guild_03.sub",
"disable_image" : "d:/ymir work/ui/game/windows/messenger_guild_04.sub",
},
[/CODE]
[CODE lang="python" title="messengerwindow.py --> altına ekle"]
{
"name" : "PlayerBlockButton",
"type" : "button",
"x" : BUTTON_START_X_POS + BUTTON_X_STEP*5,
"y" : 30,
"horizontal_align" : "center",
"vertical_align" : "bottom",
"tooltip_text" : uiScriptLocale.MESSENGER_ADD_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",
},
[/CODE]
Son düzenleme:
Target'da göremedim o nedenle ben şu şekilde sistemi geliştirdim:
uiTarget.py aç ve arat:
localeInfo.TARGET_BUTTON_BUILDING_DESTROY,
localeInfo.TARGET_BUTTON_EMOTION_ALLOW,
Altına Ekle:
localeInfo.TARGET_BUTTON_BLOCK,
localeInfo.TARGET_BUTTON_UNBLOCK,
Tekrar Arat:
self.buttonDict[localeInfo.TARGET_BUTTON_WHISPER].SetEvent(ui.__mem_func__(self.OnWhisper))
Altına Ekle:
if app.ENABLE_PLAYER_BLOCK_SYSTEM:
self.buttonDict[localeInfo.TARGET_BUTTON_BLOCK].SetEvent(self.OnAppendToBlockMessenger)
self.buttonDict[localeInfo.TARGET_BUTTON_UNBLOCK].SetEvent(ui.__mem_func__(self.OnRemoveToBlockMessenger))
Tekrar Arat:
def __OnVoteBlockChat(self):
cmd = "/vote_block_chat %s" % (self.nameString)
net.SendChatPacket(cmd)
Altına Ekle:
if app.ENABLE_PLAYER_BLOCK_SYSTEM:
def OnAppendToBlockMessenger(self):
net.SendChatPacket("/block_player %s" % (self.nameString))
def OnRemoveToBlockMessenger(self):
net.SendChatPacket("/unblock_player %s" % (self.nameString))
messenger.SetShowFriendButton(self.nameString)
Terkar Arat:
if not messenger.IsFriendByName(self.nameString):
self.__ShowButton(localeInfo.TARGET_BUTTON_FRIEND)
Altına Ekle:
if app.ENABLE_PLAYER_BLOCK_SYSTEM:
if player.IsPlayerBlock(self.vid):
self.__ShowButton(localeInfo.TARGET_BUTTON_UNBLOCK)
self.__HideButton(localeInfo.TARGET_BUTTON_BLOCK)
else:
self.__ShowButton(localeInfo.TARGET_BUTTON_BLOCK)
self.__HideButton(localeInfo.TARGET_BUTTON_UNBLOCK)
NOT:
Kişiyi Dost olarak eklediğinizde Dost butonu Hide olur. ve Kişi arkadaş listenize gelir. Kişiyi engellediğiniz zaman kişi dost listenizden siliniyor(bu sistemin kendisinde var.) Kişi Engellenenler listesine ekleniyor. Fakat kişinin engelini targettan kaldırdığınız zaman Engellenenler listesinden gitmiyor(bunu düzelteceğim konuya atarım tekrar) Asıl mesela bu değil zaten. Kişinin engelini her türlü kaldırdığınız vakit Arkadaşlar penceresinden vs. Target'da dost butonu hala daha Show olmuyordu. Çünkü PythonMessenger.cpp 'de bir mapte tutuluyordu.
Arkadaş Olarak Ekledim -> Client Aradaş olarak biliyor.
Engelledim -> Client Engellediğimi biliyor.
Engeli Kaldırdım -> Client Engeli kaldırdığımı biliyor.
Fakat Client beni hala daha arkadaş zannediyor. Bu anlık olarak böyle fakat oyundan çıkıp tekrar girdiğimde diğer taraftan tekrar Cliente bilgileri geldiği için Dost gözüküyordu. Ama ben anlık olmasını istediğim için şu şekilde düzelttim.
PythonMessenger.cpp aç ve ekle:
Tekrar ekle:
Tekrar Ekle:
PythonMessenger.h aç ve ekle:
uiTarget için Verdiğim Kodlarda zaten bu düzenleme mevcut.
Kanıt:
uiTarget.py aç ve arat:
localeInfo.TARGET_BUTTON_BUILDING_DESTROY,
localeInfo.TARGET_BUTTON_EMOTION_ALLOW,
Altına Ekle:
localeInfo.TARGET_BUTTON_BLOCK,
localeInfo.TARGET_BUTTON_UNBLOCK,
Tekrar Arat:
self.buttonDict[localeInfo.TARGET_BUTTON_WHISPER].SetEvent(ui.__mem_func__(self.OnWhisper))
Altına Ekle:
if app.ENABLE_PLAYER_BLOCK_SYSTEM:
self.buttonDict[localeInfo.TARGET_BUTTON_BLOCK].SetEvent(self.OnAppendToBlockMessenger)
self.buttonDict[localeInfo.TARGET_BUTTON_UNBLOCK].SetEvent(ui.__mem_func__(self.OnRemoveToBlockMessenger))
Tekrar Arat:
def __OnVoteBlockChat(self):
cmd = "/vote_block_chat %s" % (self.nameString)
net.SendChatPacket(cmd)
Altına Ekle:
if app.ENABLE_PLAYER_BLOCK_SYSTEM:
def OnAppendToBlockMessenger(self):
net.SendChatPacket("/block_player %s" % (self.nameString))
def OnRemoveToBlockMessenger(self):
net.SendChatPacket("/unblock_player %s" % (self.nameString))
messenger.SetShowFriendButton(self.nameString)
Terkar Arat:
if not messenger.IsFriendByName(self.nameString):
self.__ShowButton(localeInfo.TARGET_BUTTON_FRIEND)
Altına Ekle:
if app.ENABLE_PLAYER_BLOCK_SYSTEM:
if player.IsPlayerBlock(self.vid):
self.__ShowButton(localeInfo.TARGET_BUTTON_UNBLOCK)
self.__HideButton(localeInfo.TARGET_BUTTON_BLOCK)
else:
self.__ShowButton(localeInfo.TARGET_BUTTON_BLOCK)
self.__HideButton(localeInfo.TARGET_BUTTON_UNBLOCK)
NOT:
Kişiyi Dost olarak eklediğinizde Dost butonu Hide olur. ve Kişi arkadaş listenize gelir. Kişiyi engellediğiniz zaman kişi dost listenizden siliniyor(bu sistemin kendisinde var.) Kişi Engellenenler listesine ekleniyor. Fakat kişinin engelini targettan kaldırdığınız zaman Engellenenler listesinden gitmiyor(bunu düzelteceğim konuya atarım tekrar) Asıl mesela bu değil zaten. Kişinin engelini her türlü kaldırdığınız vakit Arkadaşlar penceresinden vs. Target'da dost butonu hala daha Show olmuyordu. Çünkü PythonMessenger.cpp 'de bir mapte tutuluyordu.
Arkadaş Olarak Ekledim -> Client Aradaş olarak biliyor.
Engelledim -> Client Engellediğimi biliyor.
Engeli Kaldırdım -> Client Engeli kaldırdığımı biliyor.
Fakat Client beni hala daha arkadaş zannediyor. Bu anlık olarak böyle fakat oyundan çıkıp tekrar girdiğimde diğer taraftan tekrar Cliente bilgileri geldiği için Dost gözüküyordu. Ama ben anlık olmasını istediğim için şu şekilde düzelttim.
PythonMessenger.cpp aç ve ekle:
Kod:
#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
void CPythonMessenger::UnblockShowFriendButton(const char * c_szName)
{
auto it = m_FriendNameMap.find(c_szName);
if (it != m_FriendNameMap.end())
{
m_FriendNameMap.erase(it);
}
}
void CPythonMessenger::AddingFriendsAfterUnblocking(const char * c_szName)
{
UnblockShowFriendButton(c_szName);
}
#endif
Tekrar ekle:
Kod:
#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
PyObject * messengerSetShowFriendButton(PyObject* poSelf, PyObject* poArgs)
{
char * szName;
if (!PyTuple_GetString(poArgs, 0, &szName))
return Py_BuildException();
CPythonMessenger::Instance().AddingFriendsAfterUnblocking(szName);
return Py_BuildNone();
}
#endif
Tekrar Ekle:
Kod:
#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
{ "SetShowFriendButton", messengerSetShowFriendButton, METH_VARARGS },
#endif
PythonMessenger.h aç ve ekle:
Kod:
#ifdef ENABLE_PLAYER_BLOCK_SYSTEM
// Again Show Friend Button
void UnblockShowFriendButton(const char * c_szName);
void AddingFriendsAfterUnblocking(const char * c_szName);
#endif
uiTarget için Verdiğim Kodlarda zaten bu düzenleme mevcut.
Kanıt:
Son düzenleme:
Çoğu fonksiyon çalışıyor. Şunu fark ettim mesaj atınca oyuncu engellı diyor fakat mesaj yinede gidiyor. Birde Engelli listesine ekleme yaparken kendi ismini yazarsan kendini engelleyebiliyorsun 

Öyle bi sorun yok bi yeri hatalı eklemiş olabilirsinÇoğu fonksiyon çalışıyor. Şunu fark ettim mesaj atınca oyuncu engellı diyor fakat mesaj yinede gidiyor. Birde Engelli listesine ekleme yaparken kendi ismini yazarsan kendini engelleyebiliyorsun![]()
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 5
- Görüntüleme
- 672
- Cevaplar
- 16
- Görüntüleme
- 1K
- Cevaplar
- 13
- Görüntüleme
- 1K
