Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!
Direk questten değilde kaynak dosyalarından başlangıç levelini ayarlamayı göstericeğim
Farkı ne diye soran olursa Oyuna 1 level değilde direk level almadan yazılan levelden başlanmasını ve bir nebzede olsa level başlandığı gibi level atlayıp oyundaki kaliteyi düşürücek şeyin bir nebze önüne geçmeye yarıyacaktır.
Açılıcak dosya: input_login.cpp
Aratılıcak kod bloğu:
Kod:
bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]
Çıkan Fonksiyon :
Kod:
bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]{[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]if (race >= MAIN_RACE_MAX_NUM)[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]{[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]sys_err("NewPlayerTable2.OUT_OF_RACE_RANGE(%d >= max(%d))\n", race, MAIN_RACE_MAX_NUM);[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]return false;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]}[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]unsigned job;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]if (!RaceToJob(race, &job))[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]{ [/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]sys_err("NewPlayerTable2.RACE_TO_JOB_ERROR(%d)\n", race);[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]return false;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]}[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]sys_log(0, "NewPlayerTable2(name=%s, race=%d, job=%d)", name, race, job);[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]memset(table, 0, sizeof(TPlayerTable));[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]strlcpy(table->name, name, sizeof(table->name));[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->level = 1;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->job = race; // Á÷¾÷´ë½Å Á¾Á·À» ³Ö´Â´Ù[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->voice = 0;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->part_base = shape;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->st = JobInitialPoints[job].st;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->dx = JobInitialPoints[job].dx;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->ht = JobInitialPoints[job].ht;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->iq = JobInitialPoints[job].iq;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->hp = JobInitialPoints[job].max_hp + table->ht * JobInitialPoints[job].hp_per_ht;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->sp = JobInitialPoints[job].max_sp + table->iq * JobInitialPoints[job].sp_per_iq;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->stamina = JobInitialPoints[job].max_stamina;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->x = CREATE_START_X(bEmpire) + number(-300, 300);[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->y = CREATE_START_Y(bEmpire) + number(-300, 300);[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->z = 0;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->dir = 0;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->playtime = 0;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->gold = 0;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]table->skill_group = 0;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]return true;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]}
Değişilicek kod:
Kod:
table->level = 1;[/FONT][/COLOR]
[COLOR=#BB0000][FONT=Verdana]
İyi forumlar
Moderatör tarafında düzenlendi:
Teşekkürler, Recep Bunu Configden Çektiricem Çok Daha Güzel Olucak..Direk questten değilde kaynak dosyalarından başlangıç levelini ayarlamayı göstericeğim
Farkı ne diye soran olursa Oyuna 1 level değilde direk level almadan yazılan levelden başlanmasını ve bir nebzede olsa level başlandığı gibi level atlayıp oyundaki kaliteyi düşürücek şeyin bir nebze önüne geçmeye yarıyacaktır.
Açılıcak dosya: input_login.cpp
Aratılıcak kod bloğu:
Kod:bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)
Çıkan Fonksiyon :
Kod:bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire) { if (race >= MAIN_RACE_MAX_NUM) { sys_err("NewPlayerTable2.OUT_OF_RACE_RANGE(%d >= max(%d))\n", race, MAIN_RACE_MAX_NUM); return false; } unsigned job; if (!RaceToJob(race, &job)) { sys_err("NewPlayerTable2.RACE_TO_JOB_ERROR(%d)\n", race); return false; } sys_log(0, "NewPlayerTable2(name=%s, race=%d, job=%d)", name, race, job); memset(table, 0, sizeof(TPlayerTable)); strlcpy(table->name, name, sizeof(table->name)); table->level = 1; table->job = race; // Á÷¾÷´ë½Å Á¾Á·À» ³Ö´Â´Ù table->voice = 0; table->part_base = shape; table->st = JobInitialPoints[job].st; table->dx = JobInitialPoints[job].dx; table->ht = JobInitialPoints[job].ht; table->iq = JobInitialPoints[job].iq; table->hp = JobInitialPoints[job].max_hp + table->ht * JobInitialPoints[job].hp_per_ht; table->sp = JobInitialPoints[job].max_sp + table->iq * JobInitialPoints[job].sp_per_iq; table->stamina = JobInitialPoints[job].max_stamina; table->x = CREATE_START_X(bEmpire) + number(-300, 300); table->y = CREATE_START_Y(bEmpire) + number(-300, 300); table->z = 0; table->dir = 0; table->playtime = 0; table->gold = 0; table->skill_group = 0; return true; }
Değişilicek kod:
Kod:table->level = 1;
İyi forumlar
Teşekkürler, Recep Bunu Configden Çektiricem Çok Daha Güzel Olucak..
TC'deki Karakter oluşturuldan sonra oyuna girmedenki karakter ekranında itemli olarak görünüp oyuna itemler üstünde başlanmasınıda paylaşırım ilerde

Paylaşım için teşekkürler lakin exp veya statü değerlerinde hata olabilir, 1 olduğunda sorun olmaz ama 50 veya 70 felan yapıldığında sorun yaşanabilir.
Statü sorununu ben böyle çözmüştüm;
table->stat_point += (baslangic_level * 3) - 3;
table->stat_point += (baslangic_level * 3) - 3;
- 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
- 14
- Görüntüleme
- 645
- Cevaplar
- 3
- Görüntüleme
- 497
- Cevaplar
- 33
- Görüntüleme
- 2K
