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!
Olması gereken bir özellik teşekkürler
Gamesrc/char.cpp arat
kod bloğunu değiş;PHP:void CHARACTER::SetBlockMode(BYTE bFlag)
PHP: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); }
char.h arat
full değişinPHP:enum EBlockAction
PHP: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), };
cmd_general.cpp arat
altında biryerde bu kod olacakKod:ACMD(do_view_equip)
Kod:if (!tch->IsPC())bunu ekleyin altınaKod:[COLOR=#BB0000][FONT=Verdana]return;[/FONT][/COLOR]
PHP:if (tch->IsBlockMode(BLOCK_VIEW_EQUIPMENT)) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ekipman konusmasi")); return; }
ayrıca orda
PHP:if (ch->GetGMLevel() <= GM_PLAYER) return;
böyle bir kod varsa silin çünkü sadece gm oyuncuların ekipmanlarına bakması için yapılmış bir engelleme
Game src bitti.
Clientsrc/packet.h arat
full değiş;Kod:enum EBlockAction
PHP: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), };
PythonPlayerModule.cpp arat
kodları değişinPHP:// Block Mode
PHP: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);
Sevmediğim bölüm pythona geçtik ^^
root/uitarget.py aratın
Altına ekle:PHP:self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
uitargetin ilk başındakiPHP:self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
Aralarına ekleyin;Kod:BUTTON_NAME_LIST = (
Aratın:PHP:localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
PHP:def __OnExitObserver(self): net.SendChatPacket("/observer_exit")
Altına ekleyin;
PHP:def __OnViewEquipment(self): net.SendChatPacket("/view_equip " + str(self.vid))
Arat:
Full değiş;PHP:def ShowDefaultButton(self):
root/uioption.py aratın:PHP: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()
Altına ekleyin;PHP:self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
PHP:self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)PHP:self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)PHP:self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)Altına ekleyin:PHP:self.blockButtonList.append(GetObject("block_friend_button"))
Aratın:PHP:self.blockButtonList.append(GetObject("block_view_ equipment_button"))
Kod:def __OnClickBlockPartyButton(self):
Altına Ekleyin;
Kod:def __OnClickBlockViewEquipmentButton(self):Kod:self.RefreshBlock() global blockMode [CENTER] net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_VIEW_EQUIPMENT))[/CENTER]
root/uigameoption.py aratınPHP:def __OnClickBlockPartyButton(self): self.RefreshBlock() global blockMode net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_PARTY))
Altına ekleyin;
PHP:def __OnClickBlockViewEquipmentButton(self): self.RefreshBlock() global blockMode net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_VIEW_EQUIPMENT))
Aratın:
Altına ekleyin;PHP:self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
Tekrar aratın:PHP:self.blockButtonList[6].SetToggleUpEvent(self.__OnClickBlockViewEquipment Button)
Altına ekleyin;PHP:self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyReques t)
Aratın:PHP:self.blockButtonList[6].SetToggleDownEvent(self.__OnClickBlockViewEquipme ntButton)
Altına ekleyin;PHP:self.blockButtonList.append(GetObject("block_party _request_button"))
ve root bölümüde bittiPHP:self.blockButtonList.append(GetObject("block_view_ equipment_button"))
uiscript/gameoptiondialog.py arat:
Altına ekleyin not kodların aralarını x y ayarıyla düzenlemeniz gerek çünkü iç içe girerler her butonun mesefasi 25 dir;PHP:"name" : "block_party_request_button",
Evet şimdi c++ ve python kısmı bittiPHP:{ "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", },
game_option.queste girin
Aralarına biryerine ekleyin;
Locale_stringe ekleyin;PHP:if pc.getqf("block_view_equipment") == 1 then msg = msg.."Profil " val = val + 6 end
PHP:"ekipman konusmasi"; "|cffFFC125Karşınızdaki oyuncu profil görüntülemeyi blokladı.";
Kanıtlar:![]()
![]()
Sorunsuz Ekledim Birkaç Eksik Dışında Sorunu Yok
Eksikler Benden Kaynaklanıyor
game_option.quest yok
Birde Kemer Eksik Galiba
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
black dostum benim şöyle bir sorunum var
sistemi kurdum fakat bende önceden onaylı bakma sistemi vardı
sorun şu engellemeyi aktif etsek dahi o sorgu penceri si açılıyor
açılınca hayır dersen hiç bir şey yapmadan geri gidiyor
evet dersen de direk uyarı gidiyor karşı tarafa oyuncu profil görüntülemesini engellemiştir tarzında bir şeyler
bu sorgu penceresinin gelmesini nasıl engelleye bilirim ?
sistemi kurdum fakat bende önceden onaylı bakma sistemi vardı
sorun şu engellemeyi aktif etsek dahi o sorgu penceri si açılıyor
açılınca hayır dersen hiç bir şey yapmadan geri gidiyor
evet dersen de direk uyarı gidiyor karşı tarafa oyuncu profil görüntülemesini engellemiştir tarzında bir şeyler
bu sorgu penceresinin gelmesini nasıl engelleye bilirim ?
Gamesrc/char.cpp arat
kod bloğunu değiş;PHP:void CHARACTER::SetBlockMode(BYTE bFlag)
PHP:void CHARACTER::SetBlockMode(BYTE bFlag)[/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana] [CENTER]{ 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); }
char.h arat
full değişinPHP:enum EBlockAction
PHP:enum EBlockAction[/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana] [CENTER]{ 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), };
cmd_general.cpp arat
altında biryerde bu kod olacakKod:ACMD(do_view_equip)
Kod:if (!tch->IsPC())Kod:[/B][/COLOR][/CENTER] [COLOR=#BB0000][B] [CENTER][COLOR=#BB0000][FONT=Verdana]return;[/FONT][/COLOR]
bunu ekleyin altına
PHP:if (tch->IsBlockMode(BLOCK_VIEW_EQUIPMENT)) [/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana] [CENTER]{ ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ekipman konusmasi")); return; }
ayrıca orda
PHP:if (ch->GetGMLevel() <= GM_PLAYER)[/B][/COLOR][/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]return;
böyle bir kod varsa silin çünkü sadece gm oyuncuların ekipmanlarına bakması için yapılmış bir engelleme
Game src bitti.
Clientsrc/packet.h arat
full değiş;Kod:enum EBlockAction
PHP:enum EBlockAction[/B][/COLOR][/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]{ 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), };
PythonPlayerModule.cpp arat
kodları değişinPHP:// Block Mode
PHP:PyModule_AddIntConstant(poModule, "BLOCK_EXCHANGE", BLOCK_EXCHANGE);[/B][/COLOR][/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]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);
Sevmediğim bölüm pythona geçtik ^^
root/uitarget.py aratın
Altına ekle:PHP:self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
uitargetin ilk başındakiPHP:self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
Aralarına ekleyin;Kod:BUTTON_NAME_LIST = (
Aratın:PHP:localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
PHP:def __OnExitObserver(self):[/B][/COLOR][/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]net.SendChatPacket("/observer_exit")
Altına ekleyin;
PHP:def __OnViewEquipment(self):[/B][/COLOR][/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]net.SendChatPacket("/view_equip " + str(self.vid))
Arat:
Full değiş;PHP:def ShowDefaultButton(self):
PHP:def ShowDefaultButton(self):[/B][/COLOR][/FONT][/COLOR][/CENTER] [COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER] 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 aratın:
Altına ekleyin;PHP:self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
PHP:self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)PHP:self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)PHP:self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)Altına ekleyin:PHP:self.blockButtonList.append(GetObject("block_friend_button"))
Aratın:PHP:self.blockButtonList.append(GetObject("block_view_ equipment_button"))
Altına Ekleyin;Kod:[/B][/COLOR]def __OnClickBlockPartyButton(self):[B]
Kod:[/B]def __OnClickBlockViewEquipmentButton(self):[/CENTER][/B][/COLOR][/CENTER] [COLOR=#0000cd][B] [CENTER] self.RefreshBlock() global blockMode [CENTER] net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_VIEW_EQUIPMENT))[B]
root/uigameoption.py aratınPHP:def __OnClickBlockPartyButton(self):[/B][/COLOR][/FONT][/COLOR][/COLOR][/CENTER] [COLOR=#0000cd][COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]self.RefreshBlock() global blockMode net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_PARTY))
Altına ekleyin;
PHP:def __OnClickBlockViewEquipmentButton(self):[/B][/COLOR][/FONT][/COLOR][/COLOR][/CENTER] [COLOR=#0000cd][COLOR=#BB0000][FONT=Verdana][COLOR=#0000cd][B] [CENTER]self.RefreshBlock() global blockMode net.SendChatPacket("/setblockmode " + str(blockMode ^ player.BLOCK_VIEW_EQUIPMENT))
Aratın:
Altına ekleyin;PHP:self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
Tekrar aratın:PHP:self.blockButtonList[6].SetToggleUpEvent(self.__OnClickBlockViewEquipment Button)
Altına ekleyin;PHP:self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyReques t)
Aratın:PHP:self.blockButtonList[6].SetToggleDownEvent(self.__OnClickBlockViewEquipme ntButton)
Altına ekleyin;PHP:self.blockButtonList.append(GetObject("block_party _request_button"))
ve root bölümüde bittiPHP:self.blockButtonList.append(GetObject("block_view_ equipment_button"))
uiscript/gameoptiondialog.py arat:
Altına ekleyin not kodların aralarını x y ayarıyla düzenlemeniz gerek çünkü iç içe girerler her butonun mesefasi 25 dir;PHP:"name" : "block_party_request_button",
PHP:{ "name" : "block_view_equipment_button",[/FONT][/COLOR][/COLOR][/CENTER] [COLOR=#0000cd][COLOR=#BB0000][FONT=Verdana] [CENTER]"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", },
Evet şimdi c++ ve python kısmı bitti
game_option.queste girin
Aralarına biryerine ekleyin;
PHP:if pc.getqf("block_view_equipment") == 1 then[/FONT][/COLOR][/COLOR][/CENTER] [COLOR=#0000cd][COLOR=#BB0000][FONT=Verdana] [CENTER]msg = msg.."Profil " val = val + 6 end
Locale_stringe ekleyin;
PHP:"ekipman konusmasi";[/FONT][/COLOR][/COLOR][/CENTER] [COLOR=#0000cd][COLOR=#BB0000][FONT=Verdana] [CENTER]"|cffFFC125Karşınızdaki oyuncu profil görüntülemeyi blokladı.";
Kanıtlar:![]()
![]()
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 8
- Görüntüleme
- 850
- Cevaplar
- 65
- Görüntüleme
- 12K
- Cevaplar
- 12
- Görüntüleme
- 4K
