- Katılım
- 11 May 2023
- Konular
- 270
- Mesajlar
- 1,141
- Çözüm
- 2
- Online süresi
- 1mo 25d
- Reaksiyon Skoru
- 744
- Altın Konu
- 1
- Başarım Puanı
- 199
- MmoLira
- 1,170
- DevLira
- 381
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
bu zaman kadar çok başlangıç level paylaşıldı hepsinde hp bugu var.
hp bugu nasıl yapılıyor ?
örneğin oyuna 90 level başladın 4300 hp ile başlıyorsun
statü sıfırlama yapınca hp 5500 oluyor.
bu paylaşımda öyle sorun yok.
şuan paylaşacağım sistem sourcede zaten ekli
başlangıç level ve parayı input_login.cpp den ayarlanıyor
configlere
china_event_server: 1
ekle
input_login.cpp
ilgili yere ekle
like
burasını düzenledim
input_db.cpp
hp bugu nasıl yapılıyor ?
örneğin oyuna 90 level başladın 4300 hp ile başlıyorsun
statü sıfırlama yapınca hp 5500 oluyor.
bu paylaşımda öyle sorun yok.
şuan paylaşacağım sistem sourcede zaten ekli
başlangıç level ve parayı input_login.cpp den ayarlanıyor
configlere
china_event_server: 1
ekle
input_login.cpp
ilgili yere ekle
Kod:
if (china_event_server)
{
table->level = 35;
for (int i = 1; i < 35; ++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 = 1000000;
}
like
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;
#if defined(ENABLE_WOLFMAN_CHARACTER) && defined(USE_LYCAN_CREATE_POSITION)
table->x = LYCAN_CREATE_START_X(bEmpire, job) + number(-300, 300);
table->y = LYCAN_CREATE_START_Y(bEmpire, job) + number(-300, 300);
#else
table->x = CREATE_START_X(bEmpire) + number(-300, 300);
table->y = CREATE_START_Y(bEmpire) + number(-300, 300);
#endif
table->z = 0;
table->dir = 0;
table->playtime = 0;
table->gold = 0;
table->skill_group = 0;
if (china_event_server)
{
table->level = 35;
for (int i = 1; i < 35; ++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;
}
burasını düzenledim
input_db.cpp
Kod:
void CInputDB::PlayerCreateSuccess(LPDESC d, const char * data)
{
if (!d)
return;
TPacketDGCreateSuccess * pPacketDB = (TPacketDGCreateSuccess *) data;
if (pPacketDB->bAccountCharacterIndex >= PLAYER_PER_ACCOUNT)
{
d->Packet(encode_byte(HEADER_GC_CHARACTER_CREATE_FAILURE), 1);
return;
}
long lIndex = 0;
#ifdef ENABLE_MOVE_CHANNEL
if (!CMapLocation::instance().Get(pPacketDB->player.x, pPacketDB->player.y, lIndex, pPacketDB->player.lAddr, pPacketDB->player.wPort, g_bChannel))
#else
if (!CMapLocation::instance().Get(pPacketDB->player.x, pPacketDB->player.y, lIndex, pPacketDB->player.lAddr, pPacketDB->player.wPort))
#endif
{
sys_err("InputDB::PlayerCreateSuccess: cannot find server for mapindex %d %d x %d (name %s)",
lIndex,
pPacketDB->player.x,
pPacketDB->player.y,
pPacketDB->player.szName);
}
TAccountTable & r_Tab = d->GetAccountTable();
r_Tab.players[pPacketDB->bAccountCharacterIndex] = pPacketDB->player;
TPacketGCPlayerCreateSuccess pack;
pack.header = HEADER_GC_CHARACTER_CREATE_SUCCESS;
pack.bAccountCharacterIndex = pPacketDB->bAccountCharacterIndex;
pack.player = pPacketDB->player;
#ifdef ENABLE_NEWSTUFF
if (!g_stProxyIP.empty())
pack.player.lAddr=inet_addr(g_stProxyIP.c_str());
#endif
d->Packet(&pack, sizeof(TPacketGCPlayerCreateSuccess));
// 기본 무기와 귀환부를 지급
TPlayerItem t;
memset(&t, 0, sizeof(t));
//baslangic item verme
t.owner = r_Tab.players[pPacketDB->bAccountCharacterIndex].dwID;
struct SInitialItem
{
BYTE window;
BYTE pos;
DWORD count;
DWORD dwVnum;
// long socket0;
// long socket1;
// long socket2;
// long socket3;
// long socket4;
// long socket5;
};
const int MAX_INITIAL_ITEM = 17;
static SInitialItem initialItems[JOB_MAX_NUM][MAX_INITIAL_ITEM] =
{
// {window_type, envanterdeki yeri, adeti, item_vnum, socket0, socket1, socket2, socket3, socket4, socket5, socket6}
{
// WARRIOR
{EQUIPMENT, 0, 1, 12019}, // Zirh
{EQUIPMENT, 1, 1, 12269}, // Kafalik
{EQUIPMENT, 2, 1, 15209}, // Ayakkabi
{EQUIPMENT, 3, 1, 14209}, // Bilezik
{EQUIPMENT, 4, 1, 149}, // Silah
{EQUIPMENT, 5, 1, 16149}, // Kolye
{EQUIPMENT, 6, 1, 17109}, // Kupe
{EQUIPMENT, 10, 1, 13069}, // Kalkan
{INVENTORY, 1, 1, 71051}, //Kadim Efsun
// {INVENTORY, 2, 1, 72725}, //oto bot hp buyuk extra de?il
// {INVENTORY, 3, 1, 72729}, //oto bot sp buyuk extra de?il
{INVENTORY, 4, 1, 40002}, //ı?ınlasnma yuzu?u
{INVENTORY, 5, 1, 50053}, //at kitabı
{INVENTORY, 6, 1, 41774}, //ı?ınlasnma yuzu?u
{INVENTORY, 7, 1, 41776}, //at kitabı
{INVENTORY, 8, 1, 45392}, //ı?ınlasnma yuzu?u
{INVENTORY, 9, 1, 45394}, //at kitabı
{INVENTORY, 9, 1, 72725}, //at kitabı
{INVENTORY, 9, 1, 72729}, //at kitabı
},
{
// ASSASSIN
{EQUIPMENT, 0, 1, 12029}, // Zirh
{EQUIPMENT, 1, 1, 12399}, // Kafalik
{EQUIPMENT, 2, 1, 15209}, // Ayakkabi
{EQUIPMENT, 3, 1, 14209}, // Bilezik
{EQUIPMENT, 4, 1, 1109}, // Silah
{EQUIPMENT, 5, 1, 16089}, // Kolye
{EQUIPMENT, 6, 1, 17169}, // Kupe
{EQUIPMENT, 10, 1, 13089}, // Kalkan
{INVENTORY, 1, 1, 71051}, //Kadim Efsun
// {INVENTORY, 2, 1, 72725}, //oto bot hp buyuk extra de?il
// {INVENTORY, 3, 1, 72729}, //oto bot sp buyuk extra de?il
{INVENTORY, 4, 1, 40002}, //ı?ınlasnma yuzu?u
{INVENTORY, 5, 1, 50053}, //at kitabı
{INVENTORY, 6, 1, 41774}, //ı?ınlasnma yuzu?u
{INVENTORY, 7, 1, 41776}, //at kitabı
{INVENTORY, 8, 1, 45392}, //ı?ınlasnma yuzu?u
{INVENTORY, 9, 1, 45394}, //at kitabı
},
{
// SURA
{EQUIPMENT, 0, 1, 12039}, // Zirh
{EQUIPMENT, 1, 1, 12539}, // Kafalik
{EQUIPMENT, 2, 1, 15209}, // Ayakkabi
{EQUIPMENT, 3, 1, 14209}, // Bilezik
{EQUIPMENT, 4, 1, 159,}, // Silah
{EQUIPMENT, 5, 1, 16129}, // Kolye
{EQUIPMENT, 6, 1, 17209}, // Kupe
{EQUIPMENT, 10, 1, 13109}, // Kalkan
{INVENTORY, 1, 1, 71051}, //Kadim Efsun
// {INVENTORY, 2, 1, 72725}, //oto bot hp buyuk extra de?il
// {INVENTORY, 3, 1, 72729}, //oto bot sp buyuk extra de?il
{INVENTORY, 4, 1, 40002}, //ı?ınlasnma yuzu?u
{INVENTORY, 5, 1, 50053}, //at kitabı
{INVENTORY, 6, 1, 41774}, //ı?ınlasnma yuzu?u
{INVENTORY, 7, 1, 41776}, //at kitabı
{INVENTORY, 8, 1, 45392}, //ı?ınlasnma yuzu?u
{INVENTORY, 9, 1, 45394}, //at kitabı
},
{
// SHAMAN
{EQUIPMENT, 0, 1, 12049}, // Zirh
{EQUIPMENT, 1, 1, 12679}, // Kafalik
{EQUIPMENT, 2, 1, 15209}, // Ayakkabi
{EQUIPMENT, 3, 1, 14209}, // Bilezik
{EQUIPMENT, 4, 1, 5109}, // Silah
{EQUIPMENT, 5, 1, 16129}, // Kolye
{EQUIPMENT, 6, 1, 17209}, // Kupe
{EQUIPMENT, 10, 1, 13129}, // Kalkan
{INVENTORY, 1, 1, 71051}, //Kadim Efsun
// {INVENTORY, 2, 1, 72725}, //oto bot hp buyuk extra de?il
// {INVENTORY, 3, 1, 72729}, //oto bot sp buyuk extra de?il
{INVENTORY, 4, 1, 40002}, //ı?ınlasnma yuzu?u
{INVENTORY, 5, 1, 50053}, //at kitabı
{INVENTORY, 6, 1, 41774}, //ı?ınlasnma yuzu?u
{INVENTORY, 7, 1, 41776}, //at kitabı
{INVENTORY, 8, 1, 45392}, //ı?ınlasnma yuzu?u
{INVENTORY, 9, 1, 45394}, //at kitabı
}
#ifdef ENABLE_WOLFMAN_CHARACTER
,
{
// Wolfman
{EQUIPMENT, 0, 1, 21089}, // Zirh
{EQUIPMENT, 1, 1, 21539}, // Kafalik
{EQUIPMENT, 2, 1, 15209}, // Ayakkabi
{EQUIPMENT, 3, 1, 14209}, // Bilezik
{EQUIPMENT, 4, 1, 6059}, // Silah
{EQUIPMENT, 5, 1, 16189}, // Kolye
{EQUIPMENT, 6, 1, 17109}, // Kupe
{EQUIPMENT, 10, 1, 13169}, // Kalkan
{INVENTORY, 1, 1, 71051}, //Kadim Efsun
// {INVENTORY, 2, 1, 72725}, //oto bot hp buyuk extra de?il
// {INVENTORY, 3, 1, 72729}, //oto bot sp buyuk extra de?il
{INVENTORY, 4, 1, 40002}, //ı?ınlasnma yuzu?u
{INVENTORY, 5, 1, 50053}, //at kitabı
{INVENTORY, 6, 1, 41774}, //ı?ınlasnma yuzu?u
{INVENTORY, 7, 1, 41776}, //at kitabı
{INVENTORY, 8, 1, 45392}, //ı?ınlasnma yuzu?u
{INVENTORY, 9, 1, 45394}, //at kitabı
}
#endif
};
unsigned job = pPacketDB->player.byJob;
RaceToJob(job, &job);
for (int i = 0; i < MAX_INITIAL_ITEM; i++)
{
if (initialItems[job][i].dwVnum == 0)
continue;
t.id = ITEM_MANAGER::instance().GetNewID();
t.window = initialItems[job][i].window;
t.pos = initialItems[job][i].pos;
t.count = initialItems[job][i].count;
t.vnum = initialItems[job][i].dwVnum;
// t.alSockets[0] = initialItems[job][i].socket0;
// t.alSockets[1] = initialItems[job][i].socket1;
// t.alSockets[2] = initialItems[job][i].socket2;
db_clientdesc->DBPacketHeader(HEADER_GD_ITEM_SAVE, 0, sizeof(TPlayerItem));
db_clientdesc->Packet(&t, sizeof(TPlayerItem));
}
//baslangic item verme bitis
LogManager::instance().CharLog(pack.player.dwID, 0, 0, 0, "CREATE PLAYER", "", d->GetHostName());
}
Kod:
sss
Son düzenleme:
- Katılım
- 11 May 2023
- Konular
- 270
- Mesajlar
- 1,141
- Çözüm
- 2
- Online süresi
- 1mo 25d
- Reaksiyon Skoru
- 744
- Altın Konu
- 1
- Başarım Puanı
- 199
- MmoLira
- 1,170
- DevLira
- 381
not:item vermede bazı karakterlere item vermiyor çözersem paylaşırım.
erkek ninja erkek şaman wolfman
kadın sura
kadın savaşçıya wolfman itemleri gidiyor
erkek ninja erkek şaman wolfman
kadın sura
kadın savaşçıya wolfman itemleri gidiyor
- Katılım
- 19 Eki 2014
- Konular
- 90
- Mesajlar
- 1,359
- Çözüm
- 1
- Online süresi
- 21d 20h
- Reaksiyon Skoru
- 306
- Altın Konu
- 2
- TM Yaşı
- 11 Yıl 7 Ay 20 Gün
- Başarım Puanı
- 179
- MmoLira
- 6,415
- DevLira
- 6
Paylaşım için teşekkürler.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 14
- Görüntüleme
- 627
- Cevaplar
- 3
- Görüntüleme
- 84
- Cevaplar
- 33
- Görüntüleme
- 2K
- Cevaplar
- 37
- Görüntüleme
- 2K





