Psych0SoociaL 1
Psych0SoociaL
onur akbaş 1
onur akbaş
noisiv 1
noisiv
xranzei 1
xranzei
Bvural41 1
Bvural41
D 1
delimuratt
ShadowFon 1
ShadowFon
shrpnl 1
shrpnl
DEVLOPER 1
DEVLOPER
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Karan2offical 1
Karan2offical
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

blackdragonx61

123456seven
TM Üye
Katılım
11 Ağu 2014
Konular
95
Mesajlar
1,904
Reaksiyon Skoru
719
Altın Konu
0
TM Yaşı
11 Yıl 10 Ay 12 Gün
Başarım Puanı
157
MmoLira
67
DevLira
0
Ticaret - 0%
0   0   0

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!

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):[/B][/COLOR][/CENTER]
[COLOR=#0000cd][B]
[CENTER]        self.RefreshBlock()
        global blockMode
        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
 
Moderatör tarafında düzenlendi:
Paylasim icin tskler
Paylasimlarinin devamini dilerim
Sorumda olacak normal nir files var char.pp ne oluyor
34k filesda envanter goruntuleme dif var bu dif uygulayip seceneklere nasil eklyebilirim
 
Paylasim icin tskler
Paylasimlarinin devamini dilerim
Sorumda olacak normal nir files var char.pp ne oluyor
34k filesda envanter goruntuleme dif var bu dif uygulayip seceneklere nasil eklyebilirim
CHAR.CPP 2014 te metin2 sg hacklendi oyunun açık kaynak kodları düştü bu cpplerden biri
 
bu sadece aç kapatmı yoksa envanter görüntülemede dahilmi tam detaylı bakmadım :D
 

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

Geri
Üst