Arkadaşlar hayırlı ramazanlar öncelikle. Configli olarak başlangıç leveli konusunda bin bir türlü konu var farkındayım. Fakat fark ettiğim bir husus vardı eğer configli olarak ayarlarsak ve questflaq ile exp tanımlamazsak input_login.cpp üzerinden yaptığımızda belirttiğimiz level ne ise başlangıç levelimiz o oluyor sorunu ise 1 levelde ki statü durumu ne ise örneğin 760hp 260sp vs ise 100 levelde yapsan 60 levelde yapsan yine 760hp 260sp gibi statüleri kalıyor yani levele göre random artış göstermiyor bunun çözümü ile paylaşmayı düşündüm umarım işinize gerçekten yarar. Questflag kullanmaktan daha yararlı olabileceğini düşünüyorum. Eğer eksiğim yanlışm varsa affola daha iyisini yaparım eksiğin var diyenler olursa lütfen paylaşırsa işine yarayacak olan arkadaşlara faydamız olmuş olur.
Filesteki bütün kanalların CONFIG doyalarına START_LEVEL: 1 olarak ekleyin 1 kısmını değiştirip başlangıç levelini değiştirebilirsiniz
C++:
service.h/ martysama kullananlar commondefines.h aç
ekle:
#define ENABLE_STARTING_LEVEL
game/src/config.cpp aç
arat:
extern int gPlayerMaxLevel;
üzerine ekle:
#ifdef ENABLE_STARTING_LEVEL
extern int startingLevel;
#endif
arat:
TOKEN("max_level")
üzerine ekle:
#ifdef ENABLE_STARTING_LEVEL
TOKEN("START_LEVEL") {
str_to_number(startingLevel, value_string);
fprintf(stderr, "START_LEVEL: %d\n", startingLevel);
}
#endif
game/src/config.h aç ve arat:
extern int gPlayerMaxLevel;
üzerine ekle:
#ifdef ENABLE_STARTING_LEVEL
extern int startingLevel;
#endif
game/src/input_login.cpp aç
includelerin bitimine ekle
#ifdef ENABLE_STARTING_LEVEL
extern int startingLevel;
#endif
arat:
bool NewPlayerTable2(TPlayerTable* table, const char* name, BYTE race, BYTE shape, BYTE bEmpire)
bu kod bloğunu bulduktan sonra hemen aşağısında
table->level = 1;
mevcut bununla değiştiriyoruz
#ifdef ENABLE_STARTING_LEVEL
table->level = startingLevel;
for (int i = 1; i < startingLevel; ++i)
{
int iHP = number(JobInitialPoints[job].hp_per_lv_begin, JobInitialPoints[job].hp_per_lv_end);
int iSP = number(JobInitialPoints[job].sp_per_lv_begin, JobInitialPoints[job].sp_per_lv_end);
table->sRandomHP += iHP;
table->sRandomSP += iSP;
table->stat_point += 3;
}
table->hp += table->sRandomHP;
table->sp += table->sRandomSP;
//table->gold =5000000; isteyen bunu aktif edip başlangıçta para verebilir.
#else
table->level = 1;
#endif
Filesteki bütün kanalların CONFIG doyalarına START_LEVEL: 1 olarak ekleyin 1 kısmını değiştirip başlangıç levelini değiştirebilirsiniz
Son düzenleme: