Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
bu sure sabit degil iki sayi arasinda random, 0 - 6 gibi (serverda 6000ms ustu oto fail), paket gonderiliyor butun cevredeki oyunculara ayni zamanda ki sana balik geldigini gorebilsinler.Balık geldiğinde (sabit bir süre sonra veya ekranın o bölgesindeki renk değiştiğinde) tıkla.
// Baligi cekme surene gorede basarisi (en iyi sure tam olarak 3. saniyede cekmek, her zaman tutacagin anlamina gelmiyor, baligin zorluguna gorede degisebilir, hic tutamayabilirsin en iyi surede ceksen bile )
if (number(1, 100) <= aFishingTime[fish_info[fish_id].time_type][time_step])
{
if (number(1, fish_info[fish_id].difficulty) <= level)
{
*item = fish_info[fish_id].vnum;
return 0;
}
return -3;
}
// basari tablosu
int aFishingTime[FISHING_TIME_COUNT][MAX_FISHING_TIME_COUNT] =
{
{ 0, 0, 0, 0, 0, 2, 4, 8, 12, 16, 20, 22, 25, 30, 50, 80, 50, 30, 25, 22, 20, 16, 12, 8, 4, 2, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 12, 16, 20, 22, 25, 30, 50, 80, 50, 30, 25, 22, 20 },
{ 20, 22, 25, 30, 50, 80, 50, 30, 25, 22, 20, 16, 12, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
{ 20, 20, 20, 20, 20, 22, 24, 28, 32, 36, 40, 42, 45, 50, 70, 100, 70, 50, 45, 42, 40, 36, 32, 28, 24, 22, 20, 20, 20, 20, 20 },
};
long ms = get_dword_time() - info->hang_time; // ısırma anından beri gecen ms
int time_step = MINMAX(0, ((ms + 99) / 200), 30); // 0..30 arasi bir index
aFishingTime[ time_type ][ time_step ] // yuzde sans
void FishingReact(LPCHARACTER ch)
{
TPacketGCFishing p;
p.header = HEADER_GC_FISHING;
p.subheader = FISHING_SUBHEADER_GC_REACT;
p.info = ch->GetVID();
ch->PacketAround(&p, sizeof(p));
}
// referans
case 0:
++info->step;
//info->ch->Motion(MOTION_FISHING_SIGN);
info->hang_time = get_dword_time();
info->fish_id = DetermineFish(ch);
FishingReact(ch); // burada react atiyor , sonra chatte icgoru kuren varsa chat paketi infosu geliyor.
if (PredictFish(ch))
{
TPacketGCFishing p;
p.header = HEADER_GC_FISHING;
p.subheader = FISHING_SUBHEADER_GC_FISH;
p.info = fish_info[info->fish_id].vnum;
ch->GetDesc()->Packet(&p, sizeof(TPacketGCFishing));
}
return (PASSES_PER_SEC(6));
// fishing event create
LPEVENT CreateFishingEvent(LPCHARACTER ch)
{
fishing_event_info* info = AllocEventInfo<fishing_event_info>();
info->pid = ch->GetPlayerID();
info->step = 0;
info->hang_time = 0;
int time = number(g_iFishingTimeMin, g_iFishingTimeMax); // burada belli oluyor tam olarak kac saniye sonra olusturacagini senin paketin yollandiktan sonra
TPacketGCFishing p;
p.header = HEADER_GC_FISHING;
p.subheader = FISHING_SUBHEADER_GC_START;
p.info = ch->GetVID();
p.dir = (BYTE)(ch->GetRotation() / 5);
ch->PacketAround(&p, sizeof(TPacketGCFishing));
return event_create(fishing_event, info, PASSES_PER_SEC(time)); }
kanka zor is ya, o alanlar dedigin patternler, muhtemelen cok eskileri, managerleri guncellemen lazim, sonrasinda, python modulleri sifreli, onlarin sifreli isimlerini alman lazim. Eskiden derlemistim o zaman bile 1 hafta ugrasmisimdir hatirliyorum. Daha basit biseyle baslarsan daha iyi olur, ya da sistemlerini kopyalayip kendi basina basitten basla.Ben open botu guncellemeye calıstım fakat oyun surumune guncellemek ıcın adreslerı bulmam gerektı Bu konu hakkında blgım yok banada yardımcı olurmusunuz. bot içerisinde örneğin a1/cc/a8/b1/gg/ gibi alanlar var birde 0x0018745 gibi alanlar var hangısı guncellemem gerekıyor.
