Ana Sayfa » Metin2 Onaylı HP-SP Görme Sistemi Ekleme (Kolay anlatım)

Metin2 Onaylı HP-SP Görme Sistemi Ekleme (Kolay anlatım)



Metin2 HP - SP GÖRME SİSTEMİ ANLATIMI


Bu sistemin amacı düello yaptığınızda karşı tarafın ne kadar canı kaldığını size gösterir, ve siz öldüğünüzde size "eziqqq can full" tarzında muhabbetler yapamaz, serveriniz güzelleşir.

Özel bir sistemdir, genellikle parayla satılır. Bu yazımızda ücretsiz olarak anlatıyoruz ve paylaşıyoruz.

Anlatıma başlayalım;

constinfo.py Açılır ve müsait bir  yere yerleştirilir.


INPUT_IGNORE = 0
DUELLODAIZINVARMI = ""
BenimDuelloIznim = ""
PLAYER_MAX_HP = 0
PLAYER_HP = 0 PLAYER_SP = 0
INPUT = 0
PLAYER_MAX_SP = 0 PLAYER_NAME = ""
PYTHONTOLUA = 0
PYTHONISLEM = ""
game.py A��l�r ve a�a��daki kodlar tarat�l�r,
 "CloseSafebox"            : self.CommandCloseSafebox,
Alt�na yap��t�r�l�r.

"PythonToLua" : self.__PythonToLua, # ZacqooLeaven Share
"PythonIslem" : self.__PythonIslem, # ZacqooLeaven Share
"LuaToPython" : self.__LuaToPython, # ZacqooLeaven Share


game.py i�inde tarat�l�r,


def OpenQuestWindow(self, skin, idx):
alt�ndakiler de�i�tirilir

if constInfo.INPUT == 1:
return
self.interface.OpenQuestWindow(skin, idx)
arat�l�r 

def OnRecvWhisper(self, mode, name, line):
if mode == chat.WHISPER_TYPE_GM:
self.interface.RegisterGameMasterName(name)

ve blo�un alt�na a�a��daki eklenir

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:
constInfo.DUELLODAIZINVARMI = "Kabul etmedi."
chat.AppendChat(chat.CHAT_TYPE_INFO, name + ' adli oyuncu HP ve SP gostermesini redetti. ') return
constInfo.DUELLODAIZINVARMI = "Kabul etti."
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 etmedi."
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 etti."
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. ")
pass
return
else:
game.py a��l�r ve en a�a��ya eklenir

##zacqooleaven hp sp onay baslat
def __PythonToLua(self, id):
def __PythonIslem(self, PythonIslem):
constInfo.PYTHONTOLUA = int(id)
net.SendQuestInputStringPacket(constInfo.PYTHONISLEM)
if PythonIslem == "PYTHONISLEM":
net.SendQuestInputStringPacket(str(constInfo.PLAYER_VID))
elif PythonIslem == "PLAYER_VID":
if LuaToPython.find("#quest_input#") != -1:
def __LuaToPython(self, LuaToPython): constInfo.INPUT = 1
constInfo.INPUT = 0
elif LuaToPython.find("#quest_inputbitir#") != -1: elif LuaToPython.find("#rakip_hp_sp#") != -1:
constInfo.PLAYER_SP = LuaToPython.split("|")[3]
constInfo.PLAYER_HP = LuaToPython.split("|")[1] constInfo.PLAYER_MAX_HP = LuaToPython.split("|")[2]
##zacqooleaven hp sp onay bitir
constInfo.PLAYER_MAX_SP = LuaToPython.split("|")[4]
uitarget.py a��l�r �stteki importlarin alt�na �unlar eklenir ; 

import os
import uiCommon
import chat
import event
import uiHealth
uitarget.py i�erisinde arat�l�r

 def OnUpdate(self):

alt�na eklenir

if self.vid != 0 and player.IsPVPInstance(self.vid) and constInfo.DUELLODAIZINVARMI == "Kabul etti.":
constInfo.PLAYER_VID = self.vid constInfo.PYTHONISLEM = "#hp_sp#"
self.healthBoard.Show()
event.QuestButtonClick(constInfo.PYTHONTOLUA)
if not self.healthBoard.IsShow():

uitarget.py i�erisinde arat�l�r.

   def __init__(self):
  alt�na eklenir.

   self.healthBoard = uiHealth.HealthBoard()

uitarget.py i�erisinde arat�l�r

  def Close(self):
alt�na eklenir 

self.__Initialize()
self.healthBoard.Hide()
self.Hide()

uitarget.py i�erisinde arat�l�r

def OnPVP(self):
net.SendChatPacket("/pvp %d" % (self.vid))

a�a��dakiyle komple de�istirilir

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)
self.questionDialog = questionDialog
questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes2)) questionDialog.SetCancelEvent(ui.__mem_func__(self.No2)) questionDialog.Open()
questionDialog.SetText("Rakibinin HP ve SP gormesine izin veriyor musun? ")
elif not player.IsCantFightInstance(self.vid) or player.IsRevengeInstance(self.vid) or player.IsChallengeInstance(self.vid): questionDialog = uiCommon.QuestionDialog() questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes))
net.SendChatPacket("/pvp %d" % (self.vid))
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.")
if constInfo.DUELLODAIZINVARMI == "Kabul etmedi." or constInfo.DUELLODAIZINVARMI == "":
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): constInfo.DUELLODAIZINVARMI = ""
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul ettimaq.")
chat.AppendChat(chat.CHAT_TYPE_INFO, locale.RAKIPKABULETMEDISENDEETMEDIN) net.SendChatPacket("/pvp %d" % (self.vid)) net.SendWhisperPacket(chr.GetNameByVID(self.vid), '||zacqooleavenhpsp||') else: net.SendChatPacket("/pvp %d" % (self.vid)) self.questionDialog.Close() def No2(self):
else:
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))
net.SendChatPacket("/pvp %d" % (self.vid))
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul etmedi.Hpstanceingilizcebitti")

locale_tr > locale > tr > locale_game.txt a��l�r ve en alta eklenir 

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 .


Ufak bir g�ncelleme (d�ello ba�lang�c efekti)

E�er d�ello ba�lad���nda geri sayma efektini kullan�yorsan�z problem olu�turabilir ikisini bir arada �al��t�rmak i�in;

uitarget.py a��l�r ve arat�l�r

self.buttonDict[localeInfo.TARGET_BUTTON_FIGHT].SetEvent(ui.__mem_func__(self.demirwsgame))
Alt�ndaki 2 sat�r de�i�tirilir 

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))

Tekrar arat�l�r : 

 def demirwsgame(self):

kod blo�u tamamen de�i�tirilir 

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)
self.questionDialog = questionDialog
questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes2)) questionDialog.SetCancelEvent(ui.__mem_func__(self.No2)) questionDialog.Open()
questionDialog.SetText("Rakibinin HP ve SP gormesine izin veriyor musun? ")
elif not player.IsCantFightInstance(self.vid) or player.IsRevengeInstance(self.vid) or player.IsChallengeInstance(self.vid): questionDialog = uiCommon.QuestionDialog() questionDialog.SetAcceptEvent(ui.__mem_func__(self.Yes))
net.SendChatPacket("/pvp %d" % (self.vid))
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.")
constInfo.demirstartgame = 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)
self.questionDialog.Close()
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) def No2(self):
event.QuestButtonClick(constInfo.demirvid)
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 else:
event.QuestButtonClick(constInfo.demirvid)
net.SendWhisperPacket(chr.GetNameByVID(self.vid), "||"+"C kabul etmedi.Hpstanceingilizcebitti")
constInfo.demirstartgame = self.vid

Ve kullan�m sorunsuzdur, yorumlar�n�z� eksik etmeyin takipde kal�n daha g�zel yenilikler payla��lacakt�r.

XLSKK A�LES�. 

0 yorum:

Yorum Gönder

Pages

toplist oToplist | Türkiye'nin Yeni Toplisti

Follow us on FB

About