Bu sistemin amacı birisine düello isteği gönderdiğinizde ws yaparken hp - sp gösterme seçeneğini belirler , iki kişi kabul ederse ikiside hp sp görebilir veya bir kişi kabul eder diğeri red ederse kabul eden taraf görüntüler her neyse eklediğinizde görürsünüz zaten
NOT: .py sorunu yoktur konudan alın
Forumlarda daha önce paylaşılmadı, okadar kişi istedi bilen ve ekleyebilen arkadaşlar parayla sattılar, konuyu paylaşmalarını bekledimde biraz daha beklesem 2 yıl geçerdi heralde her neyse bundan sonra bütün sistemleri çıkarıp size paylaşacağım faydalanın el alemden isteyip durmayın şahsen problem yaşadım @Evlayon; efendide istekde bulundum kendisi cevap vermedi teşekkür ediyorum gelişmeme vesile oldu.
Çalıştığına dair (çalışmıyor diyenler tekrar tekrar tekrar tekrar eklesinler hepsine tek tek ekleyemem) ;
Warezde olan sistemlerle hava atanlara inat özel sistemleri paylaşacağım, iyi günlerde kullanın :m26:
Not: Eğer daha önce normal hp - sp sistemini eklediyseniz aşşağıdaki konudan bütün kodlarını tek tek kaldırın ve bu sistemi öyle ekleyin.
http://www.turkmmo.com/metin2-pvp-c...duello-atarken-rakibin-canini-gorme-yeni.html
Resimler
http://i.hizliresim.com/poRQ5z.png
http://i.hizliresim.com/XoBz86.png
http://i.hizliresim.com/GkvrW7.png
constinfo.py acilir musait alana yerlestirilir
game.py acilir aratilir
altina yapistirilir
game.py icinde ,aratılır
altındakiler değiştirilir
aratılır
ve bloğun altına aşşağıdaki eklenir
game.py açılır ve en aşşağıya eklenir
uitarget.py acilir ustteki importlarin altina sunlar eklenir ;
uitarget.py icerisinde aratilir
altına eklenir
uitarget.py icerisinde aratilir
altina eklenir
uitarget.py icerisinde aratilir
altina eklenir
uitarget.py icerisinde aratilir
assagidakiyle komple degistirilir
locale_tr > locale > tr > locale_game.txt açılır ve en alta eklenir
İndirilmesi gereken şu dosyaları indirin root içerisinde uihealth.py'yi root'un içerisine atıyoruz, quest klasörünün içindeki zcwsonay.lua 'yı questten okutuyoruz ve işlem tamamdır :m26:
İndirmek için tıklayın
Virüstotal
Ufak bir güncelleme (düello başlangıc efekt)
Eğer düello başladığında geri sayma efektini kullanıyorsanız problem oluşturabilir ikisini bir arada çalıştırmayı başaran @frenzyboy; 'a katkılarından dolayı teşekkürler.
uitarget.py açılır ve aratılır
Altındaki 2 satır değiştirilir
Tekrar aratılır :
kod bloğu tamamen değiştirilir
Eğer yukarıdaki kodlar çalışmazsa bunu deneyebilirsiniz @xawi25; teşekkürler)
NOT: .py sorunu yoktur konudan alın
Forumlarda daha önce paylaşılmadı, okadar kişi istedi bilen ve ekleyebilen arkadaşlar parayla sattılar, konuyu paylaşmalarını bekledimde biraz daha beklesem 2 yıl geçerdi heralde her neyse bundan sonra bütün sistemleri çıkarıp size paylaşacağım faydalanın el alemden isteyip durmayın şahsen problem yaşadım @Evlayon; efendide istekde bulundum kendisi cevap vermedi teşekkür ediyorum gelişmeme vesile oldu.
Çalıştığına dair (çalışmıyor diyenler tekrar tekrar tekrar tekrar eklesinler hepsine tek tek ekleyemem) ;
Warezde olan sistemlerle hava atanlara inat özel sistemleri paylaşacağım, iyi günlerde kullanın :m26:
Not: Eğer daha önce normal hp - sp sistemini eklediyseniz aşşağıdaki konudan bütün kodlarını tek tek kaldırın ve bu sistemi öyle ekleyin.
http://www.turkmmo.com/metin2-pvp-c...duello-atarken-rakibin-canini-gorme-yeni.html
Resimler
http://i.hizliresim.com/poRQ5z.png
http://i.hizliresim.com/XoBz86.png
http://i.hizliresim.com/GkvrW7.png
constinfo.py acilir musait alana yerlestirilir
Kod:
INPUT_IGNORE = 0
DUELLODAIZINVARMI = ""
BenimDuelloIznim = ""
PLAYER_HP = 0
PLAYER_MAX_HP = 0
PLAYER_SP = 0
PLAYER_MAX_SP = 0
PLAYER_NAME = ""
INPUT = 0
PYTHONISLEM = ""
PYTHONTOLUA = 0
game.py acilir aratilir
Kod:
"CloseSafebox" : self.CommandCloseSafebox,
altina yapistirilir
Kod:
"PythonToLua" : self.__PythonToLua, # ZacqooLeaven Share
"PythonIslem" : self.__PythonIslem, # ZacqooLeaven Share
"LuaToPython" : self.__LuaToPython, # ZacqooLeaven Share
game.py icinde ,aratılır
Kod:
defOpenQuestWindow(self, skin, idx):
altındakiler değiştirilir
Kod:
if constInfo.INPUT == 1:
return
self.interface.OpenQuestWindow(skin, idx)
Kod:
def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)
Kod:
if line.find("zacqooleavenhpspq") != -1:
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.RAKIPKABULETMEDILANXD)
return
if line.find("zacqooleavenhpsp") != -1:
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.RAKIPKABULETMEDILANXD2)
return
if line.find('HP kabul etmedi') != -1:
chat.AppendChat(chat.CHAT_TYPE_INFO, name + ' adli oyuncu HP ve SP gostermesini redetti. ')
constInfo.DUELLODAIZINVARMI = "Kabul etmedi."
return
elif line.find('HP kabul ettimaq') != -1:
chat.AppendChat(chat.CHAT_TYPE_INFO, name + " adli oyuncu duello'da HP ve SP gosterme'yi kabul etti. ")
constInfo.DUELLODAIZINVARMI = "Kabul etti."
return
elif line.find('C kabul etmedi') != -1:
chat.AppendChat(chat.CHAT_TYPE_INFO, name + ' adli oyuncu HP ve SP gotermesini redetti. ')
constInfo.DUELLODAIZINVARMI = "Kabul etmedi."
return
elif line.find('C kabul ettimaq') != -1:
chat.AppendChat(chat.CHAT_TYPE_INFO, name + " adli oyuncu duello'da HP ve SP gosterme'yi kabul etti. ")
constInfo.DUELLODAIZINVARMI = "Kabul etti."
return
else:
pass
game.py açılır ve en aşşağıya eklenir
Kod:
##zacqooleaven hp sp onay baslat
def __PythonToLua(self, id):
constInfo.PYTHONTOLUA = int(id)
def __PythonIslem(self, PythonIslem):
if PythonIslem == "PYTHONISLEM":
net.SendQuestInputStringPacket(constInfo.PYTHONISLEM)
elif PythonIslem == "PLAYER_VID":
net.SendQuestInputStringPacket(str(constInfo.PLAYER_VID))
def __LuaToPython(self, LuaToPython):
if LuaToPython.find("#quest_input#") != -1:
constInfo.INPUT = 1
elif LuaToPython.find("#quest_inputbitir#") != -1:
constInfo.INPUT = 0
elif LuaToPython.find("#rakip_hp_sp#") != -1:
constInfo.PLAYER_HP = LuaToPython.split("|")[1]
constInfo.PLAYER_MAX_HP = LuaToPython.split("|")[2]
constInfo.PLAYER_SP = LuaToPython.split("|")[3]
constInfo.PLAYER_MAX_SP = LuaToPython.split("|")[4]
##zacqooleaven hp sp onay bitir
Kod:
import os
import uiCommon
import chat
import uiHealth
import event
uitarget.py icerisinde aratilir
Kod:
def OnUpdate(self):
Kod:
if self.vid != 0 and player.IsPVPInstance(self.vid) and constInfo.DUELLODAIZINVARMI == "Kabul etti.":
constInfo.PLAYER_VID = self.vid
constInfo.PYTHONISLEM = "#hp_sp#"
event.QuestButtonClick(constInfo.PYTHONTOLUA)
if not self.healthBoard.IsShow():
self.healthBoard.Show()
Kod:
def __init__(self):
Kod:
self.healthBoard = uiHealth.HealthBoard()
uitarget.py icerisinde aratilir
Kod:
def Close(self):
Kod:
self.__Initialize()
self.healthBoard.Hide()
self.Hide()
uitarget.py icerisinde aratilir
Kod:
def OnPVP(self):
net.SendChatPacket("/pvp %d" % (self.vid))
Kod:
def OnPVP(self):
""" Paylasimci ZacqooLeaven """
if player.IsChallengeInstance(self.vid):
questionDialog = uiCommon.QuestionDialog()
if constInfo.DUELLODAIZINVARMI == "":
questionDialog.SetText("Rakibin HP ve SP gorebilsin mi ? " + " " + chr.GetNameByVID(self.vid)+": Rakip kabul etmedi.")
else:
questionDialog.SetText("Rakibin HP ve SP gorebilsin mi ? " + " " + chr.GetNameByVID(self.vid)+":" + constInfo.DUELLODAIZINVARMI)
questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes2))
questionDialog.SetCancelEvent(ui.__mem_func__(self.No2))
questionDialog.Open()
self.questionDialog = questionDialog
elif not player.IsCantFightInstance(self.vid) or player.IsRevengeInstance(self.vid) or player.IsChallengeInstance(self.vid):
questionDialog = uiCommon.QuestionDialog()
questionDialog.SetText("Rakibinin HP ve SP gormesine izin veriyor musun? ")
questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes))
questionDialog.SetCancelEvent(ui.__mem_func__(self.No))
questionDialog.Open()
self.questionDialog = questionDialog
def Yes(self):
self.questionDialog.Close()
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"HP kabul ettimaq.")
net.SendChatPacket("/pvp %d" % (self.vid))
def No(self):
self.questionDialog.Close()
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"HP kabul etmedi.Hpstanceingilizcebitti")
net.SendChatPacket("/pvp %d" % (self.vid))
def Yes2(self):
if constInfo.DUELLODAIZINVARMI == "Kabul etmedi." or constInfo.DUELLODAIZINVARMI == "":
constInfo.DUELLODAIZINVARMI = ""
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.RAKIPKABULETMEDISENDEETMEDIN)
net.SendChatPacket("/pvp %d" % (self.vid))
net.SendWhisperPacket(chr.GetNameByVID(self.vid), '||zacqooleavenhpsp||')
else:
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul ettimaq.")
net.SendChatPacket("/pvp %d" % (self.vid))
self.questionDialog.Close()
def No2(self):
self.questionDialog.Close()
if constInfo.DUELLODAIZINVARMI == "Kabul etti.":
constInfo.DUELLODAIZINVARMI = ""
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.RAKIPKABULETMEDISENDEETMEDIN2)
net.SendWhisperPacket(chr.GetNameByVID(self.vid), '||zacqooleavenhpspq||')
net.SendChatPacket("/pvp %d" % (self.vid))
else:
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul etmedi.Hpstanceingilizcebitti")
net.SendChatPacket("/pvp %d" % (self.vid))
locale_tr > locale > tr > locale_game.txt açılır ve en alta eklenir
Kod:
RAKIPKABULETMEDILANXD2 <Sistem> HP ve SP görüntülemesi için rakibin ve sizin onayınız gerekir.
RAKIPKABULETMEDILANXD <Sistem> Rakibiniz HP ve SP görüntülemesini redetti. Rakibiniz HP ve SP'nizi görüntülemeyecek.
RAKIPKABULETMEDISENDEETMEDIN <Sistem> Rakibiniz HP ve SP görüntülemesini redetti. Rakibiniz HP ve SP'nizi görüntülemeyecek.
RAKIPKABULETMEDISENDEETMEDIN2 <Sistem> HP ve SP görüntülemesini redettiniz. Taraflar HP ve SP görüntülemeyecek.
İndirilmesi gereken şu dosyaları indirin root içerisinde uihealth.py'yi root'un içerisine atıyoruz, quest klasörünün içindeki zcwsonay.lua 'yı questten okutuyoruz ve işlem tamamdır :m26:
İndirmek için tıklayın
Virüstotal
Ufak bir güncelleme (düello başlangıc efekt)
Eğer düello başladığında geri sayma efektini kullanıyorsanız problem oluşturabilir ikisini bir arada çalıştırmayı başaran @frenzyboy; 'a katkılarından dolayı teşekkürler.
uitarget.py açılır ve aratılır
Kod:
self.buttonDict[localeInfo.TARGET_BUTTON_FIGHT].SetEvent(ui.__mem_func__(self.demirwsgame))
Kod:
self.buttonDict[localeInfo.TARGET_BUTTON_ACCEPT_FIGHT].SetEvent(ui.__mem_func__(self.demirwsgame))
self.buttonDict[localeInfo.TARGET_BUTTON_AVENGE].SetEvent(ui.__mem_func__(self.demirwsgame))
Kod:
def demirwsgame(self):
Kod:
def demirwsgame(self):
if player.IsChallengeInstance(self.vid):
questionDialog = uiCommon.QuestionDialog()
if constInfo.DUELLODAIZINVARMI == "":
questionDialog.SetText("Rakibin HP ve SP gorebilsin mi ? " + " " + chr.GetNameByVID(self.vid)+": Rakip kabul etmedi.")
else:
questionDialog.SetText("Rakibin HP ve SP gorebilsin mi ? " + " " + chr.GetNameByVID(self.vid)+":" + constInfo.DUELLODAIZINVARMI)
questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes2))
questionDialog.SetCancelEvent(ui.__mem_func__(self.No2))
questionDialog.Open()
self.questionDialog = questionDialog
elif not player.IsCantFightInstance(self.vid) or player.IsRevengeInstance(self.vid) or player.IsChallengeInstance(self.vid):
questionDialog = uiCommon.QuestionDialog()
questionDialog.SetText("Rakibinin HP ve SP gormesine izin veriyor musun? ")
questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes))
questionDialog.SetCancelEvent(ui.__mem_func__(self.No))
questionDialog.Open()
self.questionDialog = questionDialog
def Yes(self):
self.questionDialog.Close()
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"HP kabul ettimaq.")
net.SendChatPacket("/pvp %d" % (self.vid))
constInfo.demirstartgame = self.vid
event.QuestButtonClick(constInfo.demirvidgame)
def No(self):
self.questionDialog.Close()
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"HP kabul etmedi.Hpstanceingilizcebitti")
net.SendChatPacket("/pvp %d" % (self.vid))
constInfo.demirstartgame = self.vid
event.QuestButtonClick(constInfo.demirvidgame)
def Yes2(self):
if constInfo.DUELLODAIZINVARMI == "Kabul etmedi.":
if constInfo.DUELLODAIZINVARMI == "":
constInfo.DUELLODAIZINVARMI = ""
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.RAKIPKABULETMEDISENDEETMEDIN)
constInfo.demirstartgame = self.vid
event.QuestButtonClick(constInfo.demirvid)
net.SendWhisperPacket(chr.GetNameByVID(self.vid), '||zacqooleavenhpsp||')
else:
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul ettimaq.")
constInfo.demirstartgame = self.vid
event.QuestButtonClick(constInfo.demirvid)
self.questionDialog.Close()
def No2(self):
self.questionDialog.Close()
if constInfo.DUELLODAIZINVARMI == "Kabul etti.":
constInfo.DUELLODAIZINVARMI = ""
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.RAKIPKABULETMEDISENDEETMEDIN2)
net.SendWhisperPacket(chr.GetNameByVID(self.vid), '||zacqooleavenhpspq||')
constInfo.demirstartgame = self.vid
event.QuestButtonClick(constInfo.demirvid)
else:
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul etmedi.Hpstanceingilizcebitti")
constInfo.demirstartgame = self.vid
event.QuestButtonClick(constInfo.demirvid)