mt2kodlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

30 Mart 2016 Çarşamba

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

  1 yorum
19:38


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.

Metin2 Blogu. 

Devamı

Metin2 Source , C++ Dersleri , Nasıl Yapılır ?

  Hiç yorum yok
19:08

Metin2 Source , C++ Dersleri , Nasıl Yapılır ?


Merhaba Arkadaşlar , Ülkemizin Bir Çok Konuda Almanlardan Geri Kaldığını Fark ettim .

Yapamadığımız Çoğu Sistemi Almanlara Yaptırıyor Veya Almanlardan Alıyoruz .
Ayrıca Piyasadaki Sahtekarlardan Sağlam Olmayan 3 Gün Emek Verilmiş Fileslere 100 TL Ödüyoruz.
Buna Bir Son Vermek İstediğimden Bu Konuyu Açma Gereği Duydum .

" Source " Nedir ?


" Source . Bir Yazılımın Veya Programın Açık Kaynak Dosyalarıdır . Bunlar Birleştirildiğinde Yazılım Halini Alır . Source İçerisinde CPP , lib , H , cc Ve Bu Tarz Dosya Uzantıları Bulunur . Bunları Bir Çok Yazılım İle BUILD Edebilirsiniz . "

" Source Nasıl Build Edilir ? "


" Metin2 Source Dosyaları Visual Studio Üzerinden BUILD Edilirse .exe Türevli Dosyalar Gelir . Bunun Sizin İşinize Yarayacağını Pek Zannetmiyorum . Bu Yüzden BUILD İşlemimiz Free BSD 9.2 Kurulu Olan Bir Makinede Yapmalıyız . 9.2 Makine Alınca İş Bitmiyor Elbet . Bu Makinede ;

gmake ; " cd /usr/ports/devel/gmake && make install clean Yazarak Kurabilirsiniz "

makedepend ; " cd /usr/ports/devel/makedepend && make install clean Yazarak Kurabilirsiniz "

svn ; " cd /usr/ports/devel/subversion && make install clean Yazarak Kurabilirsiniz "

devil ; " cd /usr/ports/graphics/devil && make install clean Yazarak Kurabilirsiniz "

G++ ; " cd/usr/ports/lang/gcc48 & make install clean Yazarak Kurabilirsiniz "

" Eğer Yukarıdaki Yazılımları 9.2 Free Bsd Sunucunuza Kurmaz İseniz BUILD İşlemini Gerçekleştiremessiniz "



Source Dosyası Virus Taraması ; 



" Gelelim Bir Başka Seçeneğe . Bunları Kurup Atmakla Uğraşmak İstemiyorum Diyor İseniz .
Direk Olarak Free Bsd 9.2 + Source Dosyaları + Tüm Yazılımlar Kurulmuş VDI Dosyasını İndireceksiniz.


VDI Dosyası ; 
https://mega.nz/#!Oc5l3Z7Q!w6mcLglOD-fbv5HRH2mfYkl9L8l1xtmE0nsDfCocNlk

VDI Dosyası Virus Total ; http://i.hizliresim.com/5R31RR.png


Yapamaz İseniz Makefile Dosyalarını Source İçerisine Atın ; https://yadi.sk/d/iKxHG9nQcGBie

Makefile Vırus Total ; https://www.virustotal.com/tr/file/1...is/1414163739/

VDI ID ; root

VDI Şifresi ; dev

İçerisinde Kairzy.tgz Source Dosyaları Bulunmakta .

Önerdiklerim ;

Game ; Mainline

DB ; Mainline_released

Client ; Novaline

VDI Dosyasını İndirin Ve Aşağıdaki Yarımcı Video'yu İzleyerek Game Dosyanızı Oluşturun




Metin2 Source Editleme Dersleri .


" Source Dosyalarının Diğer Yanı Editlenebilir Olmasıdır "


" Taşın İteme Eklenme Oranı Düzenlemesi "

Char_item.cpp Dosyası Açılır 



if (number(1, 100) <= 30)
Aratılır

Aratılır . Ve 30 Yazan Yer Taşın İteme Eklenme Olasılığıdır . İstediğinizi Oranı Yazabilirsiniz 1 İla 100 Arasında Olmak Kaydıyla .

" %3 Vergi Kaldırma & Düzenleme "

Shop.cpp Ve Shopmanager.cpp Açılır Bu Düzenlemede İki Yerde Aynı İşlemi Yapacaksınız .



iVal = 3;
Aratılır .
 0 Yaparsanız %3 Vergiyi Kaldırmış Olursunuz . 0 - 100 Arasında İstediğiniz Sayıyı Yazabilirsiniz.
" İtem Giyilirken Efsun Atmayı Kapatmak "

Bu Açık Oyuncuların İtem Giyilirken Efsun Attıklarında Efsun Bug u Yapmalarını Sağlar.
Bu Açık Vanilla 54k Core Ve 40K Game Core'lerde Mevcuttur .

Char_item.cpp Açılır
4488. Satırdaki Aşağıdaki Yazı Bulunur .

ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ìâ€*ì„±ìâ€ž ë³â‚¬ê²½í•* ìËâ€*ËÅ“ ì—â€*ëÅ*” ì•„이í…œìžâ€¦ë‹Ëâ€*다."));
 

Ardından 

if (item2->IsExchanging())    return false;
Altına Bu Komut Eklenir ;


if (item2->IsEquipped())    return false;
 

Yukarıdaki Şekli Alır

" 0 Yanga NPC'Den İtem Almayı Aktifleştirme "

shop.cpp Açılır .
if(r_item.price <= 0)
Aratılır.


if (r_item.price < 0)
Bununla Değiştirilir .


Game Dosyasının Boyutu Nasıl Küçültülür ?

" Evet Arkadaşlar Çoğu Arkadaşımızın Merakla Beklediği GAME Dosyasının Boyutunu Küçültmeyi Göstereceğim "

" İlk Önce GAME Dosyamızı Herhangi Bir Dizine Atıyoruz Ardından , PuTTy'ye giriş yaparak Attığımız Dizini Yazıp "

Örneğin ;

cd /usr Yazıp Enterliyoruz .

Ardından Strip -s gamedosyasininadi Yazarak Enterliyoruz . Ve GAME Boyutumuz Küçülmüş Oluyor.


 Metin Dedektörü Limitini Arttırma & Sınırsız Yapmak.

src/game/char_item.cpp Açılır .


case 76006
Aratılır . 
Ve Aşağı İnilir .


Gri Görülen Bölüm Silinir .
Saygılarımla .

YORUM YAPMAYI UNUTMAYINIZ


Devamı
Blogger Eklentileri
ogretmen flickr https://myspace.com/hakandemirrz https://www.deviantart.com/mehmetcan34 https://band.us/band/88437432 miui majezik fiyat 2022 quroa tamam wordpress forum apple sorun