- Katılım
- 19 Kas 2009
- Konular
- 149
- Mesajlar
- 892
- Çözüm
- 6
- Online süresi
- 2mo 28d
- Reaksiyon Skoru
- 480
- Altın Konu
- 0
- Başarım Puanı
- 214
- MmoLira
- 9,850
- DevLira
- 6
HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Uzun zaman önce bitirdiğim rütbe sisteminin benzerini yapıp paylaşmışlar.
Madem paylaşıldı, anlatımı benden olsun.
Rütbe nedir diyenlere :
Başlamadan söyleyeyim, paylaşılan bu sistemin benim yaptığımla alakası yoktur, inc2 adlı serverdan çalınarak yapıldı. Zaten gördüğünüz gibi quest'e bağlı ilkel bir sistemdir. Yinede hiç yoktan iyidir, serverlara renk katmış olursunuz.
Sistem üzerinden sataşanlara not: Bendeki sistemi bilen herkes pack + db + client + game 4'lü kusursuz sistem olduğunu bilir. :smile:
Char.cpp açılır:
Arayın:
altına ekleyin
Char.h açın
arayın
altına ekleyin
arayın:
orada
yazıyor altına ekleyin
arayın
GetLevel
ekleyin
Packet.h açın
arayın
dwLevelin altına ekleyin
arayın
dwLevelin altına ekleyin yine
questlua_pc.cpp açın
arayın
kodun bittiği yerden sonraya ekleyin
arayın
ekleyin
questlua_quest.cpp açın
arayın
ekleyin altına
aratın
ekleyin
questpc.cpp ve questpc.h dosyalarında eklenecek yerler verilmiş ama gerek yok bunlara zaten mainline ve mainline_rs kullanan herkeste ekli. Hata olan olursa eksikleri veririm.
Game build edebilirsiniz bir şey kalmadı.
Client source açın.
PythonTextTail.cpp açın
aratın:
ekleyin
Şimdi
yerinden biraz aşağı inin
göreceksiniz. altına şunu ekleyin
az daha altında şu ikisi var
böyle değiştirin
arayın
az altında şunu bulun
altına ekleyin
ara
ekle
ara
2 satır üstüne ekle (ALTINA DEĞİL ÜSTÜNE !)
arayın
yine 2 satır üstüne ekleyin
arayın
üstüne 2 satır boşluk bırakıp ekleyin (BLOĞUN İÇİNE DEĞİL BULDUĞUNUZ YAZIDAN YUKARIDA 2 SATIR BOŞLUK BIRAKIP)
ara
ekle
Client build edebilirsiniz.
Questleri de dosya halinde ekleyeceğim, client ve game hata alanlar aşağıya yazsın çözeriz.
Gerekli questlib.lua ve quest
Madem paylaşıldı, anlatımı benden olsun.
Rütbe nedir diyenlere :
Başlamadan söyleyeyim, paylaşılan bu sistemin benim yaptığımla alakası yoktur, inc2 adlı serverdan çalınarak yapıldı. Zaten gördüğünüz gibi quest'e bağlı ilkel bir sistemdir. Yinede hiç yoktan iyidir, serverlara renk katmış olursunuz.
Sistem üzerinden sataşanlara not: Bendeki sistemi bilen herkes pack + db + client + game 4'lü kusursuz sistem olduğunu bilir. :smile:
Char.cpp açılır:
Arayın:
PHP:
addPacket.dwLevel
altına ekleyin
PHP:
addPacket.dwRutbe = GetRutbe();
Char.h açın
arayın
PHP:
POINT_RESIST_PENETRATE = 137
PHP:
POINT_RUTBE,// 140
arayın:
PHP:
typedef struct character_point
PHP:
BYTE level;
PHP:
BYTE rutbe;
arayın
GetLevel
ekleyin
PHP:
int GetRutbe() const { return m_points.rutbe; }
void SetRutbe(BYTE rutbe) { return m_points.rutbe = rutbe; }
Packet.h açın
arayın
PHP:
packet_char_additional_info
PHP:
DWORD dwRutbe;
arayın
PHP:
packet_update_char
dwLevelin altına ekleyin yine
PHP:
DWORD dwRutbe;
questlua_pc.cpp açın
arayın
PHP:
int pc_get_level
kodun bittiği yerden sonraya ekleyin
PHP:
int pc_set_rutbe(lua_State * L)
{
if (!lua_isnumber(L, 1))
{
sys_err("invalid argument");
return 0;
}
else
{
int rutbe = lua_tonumber(L, 1);
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr() ;
ch->PointChange(POINT_RUTBE, rutbe, false, true);
ch->UpdatePacket();
return 0;
}
}
int pc_get_rutbe(lua_State * L)
{
lua_pushnumber(L, CQuestManager::instance().GetCurrentCharacterPtr()->GetRutbe());
return 1;
}
arayın
PHP:
{ "set_dx", pc_set_dx },
ekleyin
PHP:
{ "set_rutbe", pc_set_rutbe },
{ "get_rutbe", pc_get_rutbe },
questlua_quest.cpp açın
arayın
PHP:
namespace quest
ekleyin altına
PHP:
int quest_set_rutbe(lua_State * L)
{
CQuestManager& q = CQuestManager::instance();
if (lua_isstring(L, -1))
q.GetCurrentPC()->SetCurrentQuestTitle(lua_tostring(L, -1));
return 0;
}
int quest_set_another_rutbe(lua_State* L)
{
CQuestManager& q = CQuestManager::instance();
if (lua_isstring(L,1) && lua_isstring(L, 2))
q.GetCurrentPC()->SetQuestTitle(lua_tostring(L, 1), lua_tostring(L,2));
return 0;
}
aratın
PHP:
{ "set_counter_name", quest_set_counter_name },
ekleyin
PHP:
{ "set_title", quest_set_rutbe },
{ "set_title2", quest_set_another_rutbe },
questpc.cpp ve questpc.h dosyalarında eklenecek yerler verilmiş ama gerek yok bunlara zaten mainline ve mainline_rs kullanan herkeste ekli. Hata olan olursa eksikleri veririm.
Game build edebilirsiniz bir şey kalmadı.
Client source açın.
PythonTextTail.cpp açın
aratın:
PHP:
// Mark
ekleyin
PHP:
CGraphicTextInstance * pRutbe = pTextTail->pRutbeTextInstance;
if (pRutbe)
{
int iWidth, iHeight;
pRutbe->GetTextSize(&iWidth, &iHeight);
pRutbe->SetPosition(pTextTail->x + iWidth/2, pTextTail->y - 15.0f, pTextTail->z);
pRutbe->Update();
}
Şimdi
PHP:
//Mark
yerinden biraz aşağı inin
PHP:
int iImageHalfSize = pMa
göreceksiniz. altına şunu ekleyin
PHP:
float rutbekontrol = pRutbe ? 15.0f : 0.0f
az daha altında şu ikisi var
PHP:
pGuildNameInstance->SetPosition(pTextTail->x + iImageHalfSize, pTextTail->y - c_fyGuildNamePosition, pTextTail->z);
pMarkInstance->SetPosition(pTextTail->x - iWidth/2 - iImageHalfSize, pTextTail->y - c_fyMarkPosition);
böyle değiştirin
PHP:
pGuildNameInstance->SetPosition(pTextTail->x + iImageHalfSize, pTextTail->y - c_fyGuildNamePosition - rutbekontrol, pTextTail->z);
pMarkInstance->SetPosition(pTextTail->x - iWidth/2 - iImageHalfSize, pTextTail->y - c_fyMarkPosition - rutbekontrol);
arayın
PHP:
void CPythonTextTail::Render()
PHP:
pTextTail->pTextInstance->Render();
altına ekleyin
PHP:
if (pTextTail->pRutbeTextInstance)
{
pTextTail->pRutbeTextInstance->Render();
}
ara
PHP:
pTextTail->pMarkInstance=NULL;
ekle
PHP:
pTextTail->pRutbeTextInstance=NULL;
ara
PHP:
return pTextTail;
2 satır üstüne ekle (ALTINA DEĞİL ÜSTÜNE !)
PHP:
pTextTail->pRutbeTextInstance = NULL;
arayın
PHP:
m_TextTailPool.Free(pTextTail);
yine 2 satır üstüne ekleyin
PHP:
if (pTextTail->pRutbeTextInstance)
{
CGraphicTextInstance::Delete(pTextTail->pRutbeTextInstance);
pTextTail->pRutbeTextInstance = NULL;
}
arayın
PHP:
void CPythonTextTail::AttachTitle(DWORD dwVID, const char * c_szName, const D3DXCOLOR & c_rColor)
üstüne 2 satır boşluk bırakıp ekleyin (BLOĞUN İÇİNE DEĞİL BULDUĞUNUZ YAZIDAN YUKARIDA 2 SATIR BOŞLUK BIRAKIP)
PHP:
void CPythonTextTail::AttachRutbe(DWORD dwVID, const char * c_szText, const D3DXCOLOR & c_rColor)
{
TTextTailMap::iterator itor = m_CharacterTextTailMap.find(dwVID);
if (m_CharacterTextTailMap.end() == itor)
return;
TTextTail * pTextTail = itor->second;
CGraphicTextInstance *& prRutbeTextInstance = pTextTail->pRutbeTextInstance;
if (prRutbeTextInstance)
{
prRutbeTextInstance = CGraphicTextInstance::New();
prRutbeTextInstance->SetTextPointer(ms_pFont);
prRutbeTextInstance->SetOutline(true);
prRutbeTextInstance->SetHorizonalAlign(CGraphicTextInstance::HORIZONTAL _ALIGN_CENTER);
prRutbeTextInstance->SetVerticalAlign(CGraphicTextInstance::VERTICAL_AL IGN_BOTTOM);
prRutbeTextInstance->SetValue(c_szText);
prRutbeTextInstance->SetColor(c_rColor.r, c_rColor.g, c_rColor.b);
prRutbeTextInstance->Update();
}
}
void CPythonTextTail::DetachRutbe(DWORD dwVID)
{
TTextTailMap::iterator itor = m_CharacterTextTailMap.find(dwVID);
if (m_CharacterTextTailMap.end() == itor)
return;
TTextTail * pTextTail = itor->second;
if (pTextTail->pRutbeTextInstance)
{
CGraphicTextInstance::Delete(pTextTail->pRutbeTextInstance);
pTextTail->pRutbeTextInstance = NULL;
}
}
ara
PHP:
const float c_fyMarkPosition
ekle
PHP:
BOOL bPKTitleEnable = TRUE;
Client build edebilirsiniz.
Questleri de dosya halinde ekleyeceğim, client ve game hata alanlar aşağıya yazsın çözeriz.
Gerekli questlib.lua ve quest
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Sorun forumda olmaları değil, forumun bu bölümü geliştiriciler için sonuçta. Eğer oyununu geliştirmek istiyorlarsa öğrenmek zorundalar, bunu ne zaman söylesem millet alınıyor ama bunda yanlış bir şey yok. Öğrenmenizi istiyorum bunun ne zararı olur ki kendinizi geliştirmiş olacaksınız
Admin - görevlilere not:
Bu çoklu alıntı (+) butonunda problem var. Alıntı yaptıktan sonra silmiyor, ön belleğe alıyor foruma ne zaman girip birine cevap verecek olsam önceki alıntıları da ekliyor mesaja. İlgilenilmesi gerekiyor.
Bu konuda sana katılıyorum. Forumdaki kullanıcıların büyük bir çoğunluğu bir şey eklemek ya da yapmak istedikleri zaman araştırmak yerine doğrudan birinden hazır almaya çalışıyor. Skype üzerinden yazanlar oluyor. Her şeyi söyleyemem araştırıp kendiniz öğrenmeniz gerekiyor dediğimde ego sahibi kendin bilmiş biri olarak görülüyorum. Bilgisiz server açmaktansa hiç açmayın daha iyi en azından bir hata aldığınızda hataya nasıl bakacağınızı, nereyi kontrol edeceğinizi bilirsiniz. Forumda binlerce soru-cevap konusu vardır ch düşüyor şu bozuk bu bozuk diye. Gel gör ki bir tanesinde görüyor muyuz acaba syserr'de bu çıkıyor, acaba bundan mı kaynaklanıyor diye. Tek yazılan şey bu "arkadaşlar serverımda ch düşüyor acil yardım lazımm!"
Bu konuda bilinçlenilmesi gerektiği kanaatindeyim.
Eliteden buraya bir sistem daha kazandırıldı güzel paylaşım.
Gereksiz Sistem Zaten Arkadaşca, iyi, soylu, kahraman gibi orjinalında var. Mesela o isimleri değiştirerek de bi farklılık yaratılabilir.
Umarım vardır bunca sene bu forumu kullanıyorum ilk defa bu konuyu görüyorum
Linkler kırılmış, 24 saat içinde linkleri yenileyebilirmisiniz.
@kralcocuk
- Katılım
- 3 Kas 2015
- Konular
- 73
- Mesajlar
- 556
- Reaksiyon Skoru
- 439
- Altın Konu
- 0
- TM Yaşı
- 10 Yıl 7 Ay 19 Gün
- Başarım Puanı
- 107
- MmoLira
- 7
- DevLira
- 0
teşekkürler,emeğine yazık oldu
- Katılım
- 19 Kas 2009
- Konular
- 149
- Mesajlar
- 892
- Çözüm
- 6
- Online süresi
- 2mo 28d
- Reaksiyon Skoru
- 480
- Altın Konu
- 0
- Başarım Puanı
- 214
- MmoLira
- 9,850
- DevLira
- 6
teşekkürler,emeğine yazık oldu
Benimkinin seviyesine gelene kadar daha çok yolu var

- Katılım
- 3 Kas 2015
- Konular
- 73
- Mesajlar
- 556
- Reaksiyon Skoru
- 439
- Altın Konu
- 0
- TM Yaşı
- 10 Yıl 7 Ay 19 Gün
- Başarım Puanı
- 107
- MmoLira
- 7
- DevLira
- 0
xd he o zmzn ayrı tabiBenimkinin seviyesine gelene kadar daha çok yolu var![]()
- 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)
Benzer konular
- Cevaplar
- 12
- Görüntüleme
- 612
- Cevaplar
- 9
- Görüntüleme
- 454
- Cevaplar
- 0
- Görüntüleme
- 277
- Cevaplar
- 13
- Görüntüleme
- 464



