shrpnl 1
shrpnl
Queinn 1
Queinn
NovaLst 1
NovaLst
InfernoShade 1
InfernoShade
MysticBlade 1
MysticBlade
SolarPhantom 1
SolarPhantom
Riftas 1
Riftas
LunarWraith 1
LunarWraith
DarkHorizon 1
DarkHorizon
SLyFeLLowTR 1
SLyFeLLowTR
Scarlet 1
Scarlet
dogusarikaya 1
dogusarikaya
Hikaye Ekle

Envanter görüntüleme aç/kapat oyun seçeneklerine[c++,python,lua]

  • Konuyu başlatan Konuyu başlatan blackdragonx61
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 28
  • Görüntüleme Görüntüleme 9K

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
PHP:
void CHARACTER::SetBlockMode(BYTE bFlag)
kod bloğunu değiş;
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
PHP:
enum EBlockAction
full değişin
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
Kod:
ACMD(do_view_equip)
altında biryerde bu kod olacak
Kod:
if (!tch->IsPC())
Kod:
[COLOR=#BB0000][FONT=Verdana]return;[/FONT][/COLOR]
bunu ekleyin altına
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
Kod:
enum EBlockAction
full değiş;
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
PHP:
// Block Mode
kodları değişin
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
PHP:
self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
Altına ekle:
PHP:
self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
uitargetin ilk başındaki
Kod:
BUTTON_NAME_LIST = (
Aralarına ekleyin;
PHP:
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Aratın:
PHP:
def __OnExitObserver(self):
net.SendChatPacket("/observer_exit")

Altına ekleyin;
PHP:
def __OnViewEquipment(self):
net.SendChatPacket("/view_equip " + str(self.vid))

Arat:
PHP:
def ShowDefaultButton(self):
Full değiş;
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()
root/uioption.py aratın:
PHP:
self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
Altına ekleyin;
PHP:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
PHP:
self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)
PHP:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
PHP:
self.blockButtonList.append(GetObject("block_friend_button"))
Altına ekleyin:
PHP:
self.blockButtonList.append(GetObject("block_view_ equipment_button"))
Aratın:
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ın
PHP:
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:
PHP:
self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
Altına ekleyin;
PHP:
self.blockButtonList[6].SetToggleUpEvent(self.__OnClickBlockViewEquipment Button)
Tekrar aratın:
PHP:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyReques t)
Altına ekleyin;
PHP:
self.blockButtonList[6].SetToggleDownEvent(self.__OnClickBlockViewEquipme ntButton)
Aratın:
PHP:
self.blockButtonList.append(GetObject("block_party _request_button"))
Altına ekleyin;
PHP:
self.blockButtonList.append(GetObject("block_view_ equipment_button"))
ve root bölümüde bitti
uiscript/gameoptiondialog.py arat:
PHP:
"name" : "block_party_request_button",
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_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",
},
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
msg = msg.."Profil "
val = val + 6
end
Locale_stringe ekleyin;
PHP:
"ekipman konusmasi";
"|cffFFC125Karşınızdaki oyuncu profil görüntülemeyi blokladı.";

Kanıtlar:
A0Jf8iW.jpg

Rl65qpN.jpg

Sorunsuz Ekledim Birkaç Eksik Dışında Sorunu Yok :) Eksikler Benden Kaynaklanıyor :) game_option.quest yok :D

Birde Kemer Eksik Galiba :)

 
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 ?

Gamesrc/char.cpp arat
PHP:
void CHARACTER::SetBlockMode(BYTE bFlag)
kod bloğunu değiş;

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
PHP:
enum EBlockAction
full değişin
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
Kod:
ACMD(do_view_equip)
altında biryerde bu kod olacak
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
Kod:
enum EBlockAction
full değiş;
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
PHP:
// Block Mode
kodları değişin
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
PHP:
self.buttonDict[localeInfo.TARGET_BUTTON_EXIT_OBSERVER].SAFE_SetEvent(self.__OnExitObserver)
Altına ekle:
PHP:
self.buttonDict[localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT].SAFE_SetEvent(self.__OnViewEquipment)
uitargetin ilk başındaki
Kod:
BUTTON_NAME_LIST = (
Aralarına ekleyin;
PHP:
localeInfo.TARGET_BUTTON_VIEW_EQUIPMENT,
Aratın:
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:
PHP:
def ShowDefaultButton(self):
Full değiş;
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:
PHP:
self.blockButtonList[4].SetToggleUpEvent(self.__OnClickBlockFriendButton)
Altına ekleyin;
PHP:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
PHP:
self.blockButtonList[4].SetToggleDownEvent(self.__OnClickBlockFriendButton)
PHP:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockViewEquipmentButton)
PHP:
self.blockButtonList.append(GetObject("block_friend_button"))
Altına ekleyin:
PHP:
self.blockButtonList.append(GetObject("block_view_ equipment_button"))
Aratın:
Kod:
[/B][/COLOR]def __OnClickBlockPartyButton(self):[B]
Altına Ekleyin;
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ın
PHP:
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:
PHP:
self.blockButtonList[5].SetToggleUpEvent(self.__OnClickBlockPartyRequest)
Altına ekleyin;
PHP:
self.blockButtonList[6].SetToggleUpEvent(self.__OnClickBlockViewEquipment Button)
Tekrar aratın:
PHP:
self.blockButtonList[5].SetToggleDownEvent(self.__OnClickBlockPartyReques t)
Altına ekleyin;
PHP:
self.blockButtonList[6].SetToggleDownEvent(self.__OnClickBlockViewEquipme ntButton)
Aratın:
PHP:
self.blockButtonList.append(GetObject("block_party _request_button"))
Altına ekleyin;
PHP:
self.blockButtonList.append(GetObject("block_view_ equipment_button"))
ve root bölümüde bitti
uiscript/gameoptiondialog.py arat:
PHP:
"name" : "block_party_request_button",
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_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:
A0Jf8iW.jpg

Rl65qpN.jpg
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst