Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!
Hala var usta, ben sınırsız olmayan swlere laf ediyorumAga bee sene 2015 o zaman ki yapılan sınırsız cesaret pelerininin bile gözümüzde inanılmaz değeri vardı.

kesinlikle yararlı bir konu fakat arada bazı eksiklikler var sanırım config ile item istiflenmesi veri tipi byte olduğu için 256 dan fazla olamayacaktır aynı zamanda level içinse exp table da veri yoksa yine exp table ın üzerine çıkamayacak bağırma level limiti içinde level limitide byte olduğu için long int kullanmak çok mantıklı olmamış xd1.GM YERE İTEM ATMA ENGELİ(CONFİG AYARLI):config.cpp açılır:
Aratılır;
Altına eklenir:int gPlayerMaxLevel = 99;
Daha sonra aratılır:int gmyereitematamaz = 0;
Kod bloğunun altına eklenir:TOKEN("max_level")
Son hali:TOKEN("GM_YERE_ITEM_ATAMAZ")
{
str_to_number(gmyereitematamaz, value_string);
printf("GM_YERE_ITEM_ATAMAZ: 1\n");
continue;
}
![]()
config.h aratılır:
Kod:
Altına eklenir;extern int gPlayerMaxLevel;
char_item.cpp aratılır:extern int gmyereitematamaz;
Altına eklenir:bool CHARACTERropItem(TItemPos Cell, BYTE bCount)
{
LPITEM item = NULL;
son hali:if (gmyereitematamaz == 1)
{
if (GetGMLevel() > GM_PLAYER)
{
ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<Hata> GameMaster yere item atamaz.");
return false;
}//yere item atma engeli config secenekli BlackDragonx61
}
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
gm_yere_item_atamaz: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
2.GM DEPO KULLANMA ENGELİ(CONFİG AYARLI):
Aratılır;
Altına eklenir:Kod:int gPlayerMaxLevel = 99;
Daha sonra aratılır:Kod:int gmdepokullanamaz = 0;
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:TOKEN("GM_DEPO_KULLANAMAZ") { str_to_number(gmdepokullanamaz, value_string); printf("GM_DEPO_KULLANAMAZ:"); continue; }
son hali:
![]()
config.h aratılır:
Kod:
Kod:extern int gPlayerMaxLevel;
altına eklenir;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int gmdepokullanamaz;
input_main.cpp aratılır:
Kod:
Kod:if( IS_SET(pkItem->GetAntiFlag(), ITEM_ANTIFLAG_SAFEBOX) )
altına eklenir;
Kod:
Kod:if (gmdepokullanamaz == 1) { if (ch->GetGMLevel() > GM_PLAYER) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("|cFFff0000|H|h<Hata> GameMaster Depo Kullanamaz.")); return; }//depo engeli config secenekli BlackDragonx61 }
son hali:
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
gm_depo_kullanamaz: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
3.GM TİCARET ENGELİ(CONFİG AYARLI):
aratılır;
Kod:
Kod:int gPlayerMaxLevel = 99;
altına eklenir:
Kod:
Daha sonra aratılır:Kod:int gmticaretyapamaz = 0;
Kod:
Kod:TOKEN("max_level")
Kod bloğunun altına eklenir:
Kod:
son hali:Kod:TOKEN("GM_TICARET_YAPAMAZ") { str_to_number(gmticaretyapamaz, value_string); printf("GM_TICARET_YAPAMAZ: 1\n"); continue; }
![]()
config.h aratılır:
Kod:
Kod:extern int gPlayerMaxLevel;
altına eklenir;
Kod:
Kod:extern int gmticaretyapamaz;
config kodu hazır şimdi işlevi yapalım;
exchange.cpp aratılır:
Kod:
Kod:if ( IsOpenSafebox() || GetShopOwner() || GetMyShop() || IsCubeOpen())
Kod bloğunun altına eklenir;
Kod:
son hali:Kod:if (gmticaretyapamaz == 1) { if (GetGMLevel() > GM_PLAYER || victim->GetGMLevel() > GM_PLAYER) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("|cFFff0000|H|h<Hata> GameMaster Ticaret Yapamaz.")); return false; } // gm ticaret engeli config secenekli BlackDragonx61 }
![]()
başdaki includelerin altına eklenir:
Kod:
Kod:#include "config.h"
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
gm_ticaret_yapamaz: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
4.GM PAZAR AÇMA ENGELİ(CONFİG AYARLI):
aratılır;
Kod:
Kod:int gPlayerMaxLevel = 99;
altına eklenir:
Kod:
Daha sonra aratılır:Kod:int gmpazarkuramaz = 0;
Kod:
Kod:TOKEN("max_level")
Kod bloğunun altına eklenir:
Kod:
son hali:Kod:TOKEN("GM_PAZAR_KURAMAZ") { str_to_number(gmpazarkuramaz, value_string); printf("GM_PAZAR_KURAMAZ: 1\n"); continue; }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int gmpazarkuramaz;
char.cpp aratılır:
Kod:
Kod:void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE bItemCount)
altına eklenir:
Kod:
Kod:if (gmpazarkuramaz == 1) { if (GetGMLevel() > GM_PLAYER) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("|cFFff0000|H|h<Hata> GameMaster pazar kuramaz.")); return; } }
son hali:
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
gm_pazar_kuramaz: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
5.GM PAZARDAN İTEM ALMA ENGELİ(CONFİG AYARLI):
aratılır;
Kod:
Kod:int gPlayerMaxLevel = 99;
altına eklenir:
Kod:
Daha sonra aratılır:Kod:int gmpazardanitemalamaz = 0;
Kod:
Kod:TOKEN("max_level")
Kod bloğunun altına eklenir:
Kod:
son hali:Kod:TOKEN("GM_PAZARDAN_ITEM_ALAMAZ") { str_to_number(gmpazardanitemalamaz, value_string); printf("GM_PAZARDAN_ITEM_ALAMAZ: 1\n"); continue; }
![]()
config.h aratılır:
Kod:
Kod:extern int gPlayerMaxLevel;
altına eklenir;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int gmpazardanitemalamaz;
shop.cpp aratılır:
Kod:
Kod:int CShop::Buy(LPCHARACTER ch, BYTE pos) { altına eklenir: Kod: if (gmpazardanitemalamaz == 1) { if (ch->GetGMLevel() > GM_PLAYER ) { ch->ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<Hata> GameMaster pazardan item alamaz."); return false; } //pazardan item alma engeli config secenekli BlackDragonx61 }
son hali:
![]()
Bitmedi ShopManager.cpp aratılır:
Kod:
void CShopManager::Buy(LPCHARACTER ch, BYTE pos)
{
altına eklenir;
Kod:
if (gmpazardanitemalamaz == 1) {
if (ch->GetGMLevel() > GM_PLAYER )
{
ch->ChatPacket(CHAT_TYPE_INFO, "|cFFff0000|H|h<Hata> GameMaster pazardan item alamaz.");
return;
}
}
son hali:
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
gm_pazardan_item_alamaz: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
6.TİCARET EFEKTİ(CONFİG AYARLI):
aratılır;
Kod:
Kod:int gPlayerMaxLevel = 99;
altına eklenir:
Kod:
Daha sonra aratılır:Kod:int ticaretefekti = 0;
Kod:
Kod:TOKEN("max_level")
Kod bloğunun altına eklenir:
Kod:
son hali:Kod:TOKEN("TICARET_EFEKTI") { str_to_number(ticaretefekti, value_string); printf("TICARET_EFEKTI: 1\n"); continue; }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int ticaretefekti;
Exchange.cpp aratılır:
Kod:
altına eklenir;Kod:if (item->GetVnum() >= 80003 && item->GetVnum() <= 80007)
Kod:
Son hali:Kod:if (ticaretefekti == 1) { m_pOwner->CreateFly(FLY_SP_MEDIUM, victim); for (int i = 0; i < 3; i++){ m_pOwner->CreateFly(FLY_SP_SMALL, victim); } } }
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
ticaret_efekti: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
7.SINIRSIZ CESARET PELERİNİ(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:int sinirsizcesaretpelerini = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("SINIRSIZ_CESARET_PELERINI") { str_to_number(sinirsizcesaretpelerini, value_string); printf("SINIRSIZ_CESARET_PELERINI: 1\n"); continue; }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int sinirsizcesaretpelerini;
char_item.cpp aratılır:
Kod:
Kod:case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
altına eklenir;
Kod:
Son hali:Kod:if (sinirsizcesaretpelerini == 0) { item->SetCount(item->GetCount()-1); }
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
sinirsiz_cesaret_pelerini: 1
0 kapatır 1 açar
/////////////////////////////////////////////////////////config.cpp açılır:
8.SKİLLERİN 17'DE MASTER OLMASI(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:int skillmaster17 = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("SKILL_MASTER_17") { str_to_number(skillmaster17, value_string); printf("SKILL_MASTER_17: 1\n"); continue; } //BlackDragonx61
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int skillmaster17;
char_skill.cpp aratılır:
Kod:
Bu şekilde Düzenlenir;Kod:if (number(1, 21 - MIN(20, GetSkillLevel(pkSk->dwVnum))) == 1);
Kod:
son hali:Kod:if (skillmaster17 == 0) //BlackDragonx61 { if (number(1, 21 - MIN(20, GetSkillLevel(pkSk->dwVnum))) == 1); } } SetSkillLevel(pkSk->dwVnum, 20); } break;
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
skill_master_17: 1
0 kapatır 1 açar
/////////////////////////////////////////////////////////config.cpp açılır:
9.DELİCİ EFEKTİ(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:int deliciefekti = 0;
Kod:
Kod:TOKEN("max_level")
Kod bloğunun altına eklenir:
Kod:
son hali:Kod:TOKEN("DELICI_EFEKTI") { str_to_number(deliciefekti, value_string); printf("DELICI_EFEKTI: 1\n"); continue; //BlackDragonx61 }
![]()
config.h aratılır:
Kod:
Kod:extern int gPlayerMaxLevel;
altına eklenir;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int deliciefekti;
Char_battle.cpp aratılır:
Kod:
altına eklenir;Kod:am += GetPoint(POINT_DEF_GRADE) * (100 + GetPoint(POINT_DEF_BONUS)) / 100;
Kod:
son hali:Kod:if (deliciefekti == 1) { EffectPacket(SE_PENETRATE); //BlackDragonx61 }
![]()
Bitmedi yine Char_battle.cpp aratılır:
Kod:
altına eklenir;Kod:dam += GetPoint(POINT_DEF_GRADE) * (100 + GetPoint(POINT_DEF_BONUS)) / 100;
Kod:
son hali;Kod:if (deliciefekti == 1) { EffectPacket(SE_PENETRATE); } } }
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
delici_efekti: 1
0 kapatır 1 açar
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
10.KÜRESİZ İTEM YANSITMA(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:int kuresizitemyansitma = 0;
Kod:
Kod:TOKEN("max_level")
Kod bloğunun altına eklenir:
Kod:
son hali:Kod:TOKEN("KURESIZ_ITEM_YANSITMA") { str_to_number(kuresizitemyansitma, value_string); printf("KURESIZ_ITEM_YANSITMA: 1\n"); //BlackDragonx61 continue; }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int kuresizitemyansitma;
input_main.cpp aratılır:
Kod:
şu şekilde düzenlenir;Kod:int nPrismCount = ch->CountSpecifyItem(ITEM_PRISM);
Kod:
Kod:int nPrismCount = ch->CountSpecifyItem(ITEM_PRISM); if (kuresizitemyansitma == 1) { if (nPrismCount < hyperlinks) return 0; else //BlackDragonx61 if (nPrismCount < hyperlinks) return 1; }
son hali:
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
kuresiz_item_yansitma: 1
0 kapatır 1 açar
/////////////////////////////////////////////////////////config.cpp açılır:
11.SINIRSIZ POT(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:int sinirsizpot = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("SINIRSIZ_POT") { str_to_number(sinirsizpot, value_string); printf("SINIRSIZ_POT: 1\n"); continue; }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int sinirsizpot;
char_item.cpp aratılır:
Kod:
aşağı gelinirKod:case USE_POTION:
şu şekil düzenlenir;Kod:item->SetCount(item->GetCount() - 1);
Kod:
son hali:Kod:if (sinirsizpot == 0) { item->SetCount(item->GetCount() - 1); //BlackDragonx61 } m_nPotionLimit--; break;
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
sinirsiz_pot: 1
0 kapatır 1 açar
/////////////////////////////////////////////////////////config.cpp açılır:
12.METİN TAŞI DEDEKTOR SAYISI(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:long int metin_dedektor_sayisi = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("METIN_DEDEKTOR_SAYISI") { //BlackDragonx61 str_to_number(metin_dedektor_sayisi, value_string); metin_dedektor_sayisi = MINMAX(0, metin_dedektor_sayisi, 1000000L); fprintf(stderr, "METIN_DEDEKTOR_SAYISI: %ld\n", metin_dedektor_sayisi); }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern long int metin_dedektor_sayisi;
char_item.cpp aratılır:
Kod:
şu şekilde değiştirilir;Kod:if (item->GetSocket(0) >= 6)
Kod:
son hali:Kod:if (item->GetSocket(0) >= (metin_dedektor_sayisi))
![]()
son olarak
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
metin_dedektor_sayisi: 200
200 ü değiştirebilirsiniz.
//Önemli dedektör sayısının artması için pythondan düzenleme:
ROOT/uitooltip.py aratılır:
Kod:
altta (6 -usecount) yazar 6'yi değitirebilirsiniz.Kod:if 27989 == itemVnum or 76006 == itemVnum:
/////////////////////////////////////////////////////////config.cpp açılır:
13.MİNİMUM BAĞIRMA LEVELİ(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:long int bagirmalevelimin = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("BAGIRMA_LEVELI_MIN") { str_to_number(bagirmalevelimin, value_string); bagirmalevelimin = MINMAX(0, bagirmalevelimin, 1000000L); fprintf(stderr, "BAGIRMA_LEVELI_MIN: %ld\n", bagirmalevelimin); }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern long int bagirmalevelimin;
input_main.cpp aratılır:
Kod:
şu şekide düzenlenir;Kod:const int SHOUT_LIMIT_LEVEL = g_iUseLocale ? 15 : 3;
Kod:
son hali:Kod:const int SHOUT_LIMIT_LEVEL = bagirmalevelimin; if (ch->GetLevel() < SHOUT_LIMIT_LEVEL)//BlackDragonx61 { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("|cFFff0000|H|h<Hata> Bagırmak icin gerekli seviye:%d"), SHOUT_LIMIT_LEVEL); return (iExtraLen); }
![]()
channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
bagirma_leveli_min: 17
17 yi değiştirebilirsiniz.
KANIT:config.cpp açılır:
![]()
/////////////////////////////////////////////////////////
14.TAŞ EKLEME ORANI(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:long int tas_ekleme_orani = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("TAS_EKLEME_ORANI")//BlackDragonx61 { str_to_number(tas_ekleme_orani, value_string); tas_ekleme_orani = MINMAX(0, tas_ekleme_orani, 1000000L); fprintf(stderr, "TAS_EKLEME_ORANI: %ld\n", tas_ekleme_orani); }
![]()
config.h aratılır:
Kod:
![]()
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern long int tas_ekleme_orani;
char_item.cpp aratılır:
Kod:
şu şekilde değiştirilir;Kod:if (number(1, 100) <= 30)
Kod:
son hali:Kod:if (number(1, 100) <= (tas_ekleme_orani))
![]()
Son olarakchannel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
tas_ekleme_orani: 70
70'i değiştirebilirsiniz.
config.cpp açılır:
/////////////////////////////////////////////////////////
15.CEVHER EKLEME ORANI(CONFİG AYARLI):
aratılır;
Kod:
![]()
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:long int cevher_ekleme_orani = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("CEVHER_EKLEME_ORANI")//BlackDragonx61 { str_to_number(cevher_ekleme_orani, value_string); cevher_ekleme_orani = MINMAX(0, cevher_ekleme_orani, 1000000L); fprintf(stderr, "CEVHER_EKLEME_ORANI: %ld\n", cevher_ekleme_orani); }
![]()
[config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern long int cevher_ekleme_orani;
char_item.cpp aratılır:
Kod:
şu şekide değiştirilir;Kod:if (number(1, 100) <= 50)
Kod:
son hali:Kod:if (number(1, 100) <= (cevher_ekleme_orani))//BlackDragonx61
![]()
Son olarakchannel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
cevher_ekleme_orani: 70
70'i değiştirebilirsiniz.
/////////////////////////////////////////////////////////config.cpp açılır:
16.YERE ATILAN (DÜŞÜRÜLEN) İTEMİN KAYBOLMA SÜRESİ(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:long int yeredusenitemkaybolmasuresi = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("YERE_DUSEN_ITEM_KAYBOLMA_SURESI")//BlackDragonx61 { str_to_number(yeredusenitemkaybolmasuresi, value_string); yeredusenitemkaybolmasuresi = MINMAX(0, yeredusenitemkaybolmasuresi, 1000000L); fprintf(stderr, "YERE_DUSEN_ITEM_KAYBOLMA_SURESI: %ld\n", yeredusenitemkaybolmasuresi); }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern long int yeredusenitemkaybolmasuresi;
char_item.cpp aratılır:
Kod:
Şu şekilde değiştirilir;Kod:pkItemToDrop->StartDestroyEvent();
Kod:
son hali:Kod:pkItemToDrop->StartDestroyEvent(yeredusenitemkaybolmasuresi);
![]()
Son olarakchannel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
yere_dusen_item_kaybolma_suresi: 5
5'i değiştirebilirsiniz.
/////////////////////////////////////////////////////////config.cpp açılır:
17.ÖLDÜRÜLEN CANAVARIN(MOBUN)YOKOLMA SÜRESİ(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:long int mob_kaybolma_suresi = 0;
Kod:
Kod bloğunun altına eklenir:Kod:TOKEN("max_level")
Kod:
son hali:Kod:TOKEN("MOB_KAYBOLMA_SURESI")//BlackDragonx61 { str_to_number(mob_kaybolma_suresi, value_string); mob_kaybolma_suresi = MINMAX(0, mob_kaybolma_suresi, 1000000L); fprintf(stderr, "MOB_KAYBOLMA_SURESI: %ld\n", mob_kaybolma_suresi); }
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern long int mob_kaybolma_suresi;
char_battle.cpp aratılır;
Kod:
şu şekilde değiştirilir:Kod:m_pkDeadEvent = event_create(dead_event, pEventInfo, bImmediateDead ? 1 : PASSES_PER_SEC(10));
Kod:
son hali:Kod:m_pkDeadEvent = event_create(dead_event, pEventInfo, bImmediateDead ? 1 : PASSES_PER_SEC(mob_kaybolma_suresi));//BlackDragonx61
![]()
Son olarak channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
mob_kaybolma_suresi: 5
5'i değiştirebilirsiniz.
/////////////////////////////////////////////////////////config.cpp açılır:
18.İÇ İÇE GİREN İTEM SAYISI(CONFİG AYARLI):
aratılır;
Kod:
altına eklenir:Kod:int gPlayerMaxLevel = 99;
Kod:
Daha sonra aratılır:Kod:int gItemMaxCount = 200;
Kod:
Altına eklenir.Kod:TOKEN("max_level")
Kod:TOKEN("item_max_count") { str_to_number(gItemMaxCount, value_string); gItemMaxCount = MINMAX(1, gItemMaxCount, 255); fprintf(stderr, "ITEM_MAX_COUNT : %d\n", gItemMaxCount); }
son hali:
![]()
config.h aratılır:
Kod:
altına eklenir;Kod:extern int gPlayerMaxLevel;
Kod:
config kodu hazır şimdi işlevi yapalım;Kod:extern int gItemMaxCount;
common/item_length.h aratılır:
Kod:
şu şekide değiştirilir;Kod:ITEM_MAX_COUNT = 200,
Kod:
Bitmedi game/src/item.cpp aratılır:Kod:ITEM_MAX_COUNT = 255,
Kod:
şu şekilde değiştirilir;Kod:return MIN(m_dwCount, 200);
Kod:
son hali:Kod:return MIN(m_dwCount, gItemMaxCount);
![]()
Son olarak channel1,channel2,channel3,channel4,game99 içindeki CONFIG dosyasının alt kısmına ekleyin
Kod:
item_max_count: 255
255'i değiştirebilirsiniz.Sınır 255'tir.
KANIT:
![]()
@durda ileriye dönük baktığı için bu şekilde yapmış level şuanda 300 yapanda var 500 yapanda yanikesinlikle yararlı bir konu fakat arada bazı eksiklikler var sanırım config ile item istiflenmesi veri tipi byte olduğu için 256 dan fazla olamayacaktır aynı zamanda level içinse exp table da veri yoksa yine exp table ın üzerine çıkamayacak bağırma level limiti içinde level limitide byte olduğu için long int kullanmak çok mantıklı olmamış xd
item istiflemesini 10 bin yapan bile var şuanda .ddd
256'dan fazla yaptım mı ben orada?kesinlikle yararlı bir konu fakat arada bazı eksiklikler var sanırım config ile item istiflenmesi veri tipi byte olduğu için 256 dan fazla olamayacaktır
Max level için bir şey eklemedim,?Zaten gPlayerMaxLevel var srcde.aynı zamanda level içinse exp table da veri yoksa yine exp table ın üzerine çıkamayacak
Keza olsa bile exp table'da level için senin deyiminle "veri" yoksa onun için de kontrol var srcde:
Level limiti ne alaka anlamadım? Sanırım GetLevel() dan bahsediyorsun ve o da byte değil?bağırma level limiti içinde level limitide byte olduğu için long int kullanmak çok mantıklı olmamış xd
long int konusuna gelince:
xd
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 4
- Görüntüleme
- 149
- Cevaplar
- 9
- Görüntüleme
- 566
- Cevaplar
- 20
- Görüntüleme
- 2K
- Cevaplar
- 1
- Görüntüleme
- 249
Altın Konu
[C++] Prevent Ride in War (PvP) Maps
- Cevaplar
- 7
- Görüntüleme
- 2K
ropItem(TItemPos Cell, BYTE bCount)