Best Studio 1
Best Studio
BlackFullMoon 1
BlackFullMoon
NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Para Kutusu Sistemi [C++, Pyhton, Lua]

  • Konuyu başlatan Konuyu başlatan Black Widow
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 54
  • Görüntüleme Görüntüleme 8K
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Merhaba arkadaşlar, bugün sizlerle yeni bir sistem paylaşacağım.

Sistem tarafımca sıfırdan yazıldı, 1 harf bile alıntı yoktur.

Sistem Mantığı: 80010 numaralı bar kutusu içerisine üzerinizde mevcut olan parayı koyabilir ve tekrar geri alabilirsiniz. Ticareti yapılabilir, pazarda satılabilir, depolanabilir ve bunlar yapıldıktan sonra hiçbir şekilde değerini kaybetmez. Hoşunuza giderse eğer para kutusuna şifre seçeneğide ekleyebilirim. Şifre ticaret ve pazar ile farklı hesaplara aktarıldığında bile aktif olacaktır.

Source taraflı işlevlerde oluşabilecek hertürlü hatalar "syserr" dosyasına yazılacak şekilde ayarlandı.

Konu altında ek olarak dosya şeklinde anlatımda mevcut.

Not : Kullanacak arkadaşlar teşekkür eder ve kullanmayacak arkadaşlar ise gereksiz, boş yorum yapmazsa sevinirim.

questlua_item.cpp açılır

ve aratılır ;
Kod:
int item_get_cell(lua_State* L)

kod bloğu bitişine eklenir ;
Kod:
int pc_para_degeri(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr() ;

if(ch->GetExchange() || ch->GetMyShop() || ch->GetShopOwner() || ch->IsOpenSafebox() || ch->IsCubeOpen())
{
ch->ChatPacket(CHAT_TYPE_INFO, "Depo / Market / Pazar Pencerelerini kapat.");
lua_pushnumber(L, false);
return 1;
}

CQuestManager& q = CQuestManager::instance();
if (q.GetCurrentItem() && lua_isnumber(L,1))
{
int turkmmo = 1;
long bardegeri = (long) lua_tonumber(L, 1);
if (bardegeri >=1 && bardegeri < 2000000000 && ch->GetGold() >= bardegeri)
{
q.GetCurrentItem()->SetSocket(turkmmo, bardegeri);
ch->PointChange(POINT_GOLD, -bardegeri, true);
}
else
{
sys_err("Bar sistemi: Para miktari hatali girildi!");
lua_pushnumber(L, false);
return 1;
}
}
else
{
sys_err("Bar sistemi: Item yok veya para degeri girilmedi!");
lua_pushnumber(L, false);
return 1;
}
return 0;
}


tekrar aratılır ;
Kod:
{ "get_cell", item_get_cell },

ve altına eklenir ;
Kod:
{ "para_degeri", pc_para_degeri },
root > uitooltip.py açılır

importlara en başa eklenir ;
Kod:
import translate

aratılır ;
Kod:
def __SetItemTitle(self, itemVnum, metinSlot, attrSlot):

ve içerisine eklenir ;
Kod:
if 80010 == itemVnum:
if metinSlot[1] == 0:
self.AppendTextLine(translate.bar_bos, self.NEGATIVE_COLOR)
else:
self.AppendTextLine(translate.bar_dolu % localeInfo.NumberToMoneyString(metinSlot[1]), self.SPECIAL_TITLE_COLOR)
eb7cfe3f868a4cfe8731a0db68165ed6.png


root içerisine translate.py isminde bir dosya oluşturup içerisine ekleyin (varsa direk ekleyin)
not : verdiğim linkte hazır şekli mevcut.
Kod:
bar_bos="Mevcut Para : Henüz Girilmedi."
bar_dolu="Mevcut Para : %s"


locale_tr > item_list.txt eklenir;
Kod:
80010 ETC icon/item/80006.tga

locale_tr > item_desc.txt eklenilir ;
Kod:
80010 Para Kutusu Bu kutu içerisine para koyabilir ve paranızı tekrar geri alabilirsiniz. Sağ tıklanılarak kullanılır.

locale_tr > item_proto 'ya eklenecek ;
Kod:
 <!--AddonType="0"--><Item vnum="80010" name="Para Kutusu" gb2312name="Para Kutusu" type="18" subtype="0" weight="0" size="1" antiflag="74112" flag="8196" wearflag="0" immuneflag="0" gold="0" buy_price="0" limittype0="0" limitvalue0="0" limittype1="0" limitvalue1="0" applytype0="0" applyvalue0="0" applytype1="0" applyvalue1="0" applytype2="0" applyvalue2="0" value0="0" value1="0" value2="0" value3="0" value4="0" value5="0" socket0="0" socket1="0" socket2="0" socket3="0" socket4="0" socket5="0" refine_vnum="0" refine_set="0" magic_pct="0" specular="0" socket_pct="0" />

filezilla quest_functions dosyası içerisine eklenecek ;
Kod:
item.para_degeri

okutulacak lua dosyası ;
Kod:
quest bar_sistemi begin
state start begin
when 80010.use begin
local gold = pc.get_gold()
if item.get_socket(1) < 1 then
say_title("Merhaba "..pc.get_name().."")
say("") -- bosluk
say(""..gold.." paranız bulunmakta.")
say_reward("Bu kutu içerisine para koymak istiyor musun?")
local seciyoruz = select("Evet","Hayır")
if seciyoruz == 2 then return
elseif seciyoruz == 1 then
say_title("Merhaba "..pc.get_name().."")
say("")
say_reward("Lütfen paketlemek istediğiniz para")
say_reward("miktarını giriniz.")
local para = tonumber (input())

if para == "" or para == nil or para > 2000000000 or para < 1 then
say_title("Merhaba "..pc.get_name().."")
say("")
say_reward("Geçersiz bir değer girdiniz !")
return
elseif para > gold then
say_title("Merhaba "..pc.get_name().."")
say("")
say_reward("Malesef, üzerinizde bu kadar para yok!")
return
else
chat("İşlem tamamlandı.")
item.para_degeri(para)
return
end
end
else
say_title("Merhaba "..pc.get_name().."")
say("") -- bosluk
say_reward(""..item.get_socket(1).." yang parayı çıkarmak istiyor musun ?")
local cikariyoruz = select("Evet","Hayır")
if cikariyoruz == 2 then return
elseif cikariyoruz == 1 then
if gold+item.get_socket(1) > 2000000000 then
say_title("Merhaba "..pc.get_name().."")
say("") -- bosluk
say_reward("Envanterine 2 milyar para alamazsın !")
return
else
pc.give_gold(item.get_socket(1))
chat(""..item.get_socket(1).." yang envanterinize çıkartıldı.")
pc.remove_item(item.get_vnum(),pc.count_item(item. get_vnum()))
return
end
end
end
end
end
end


Navicat > item_proto'ya query olarak eklenecek ( yapamayan bir itemi kopyalayıp 80010 numara olarak değiştirip type kısmını 18 yapsın)
Kod:
INSERT INTO item_proto VALUES ('80010', 0x50617261204B7574757375, 0x50617261204B7574757375, '18', '0', '0', '1', '128', '0', '0', '', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0');

Daha rahat ve hazır dosyalar için ;




link kırık güncelleyiniz
 
Güzel Sistem Ellerinize Sağlik
 
Link Kırık
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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

Geri
Üst