ByLetsFeeL Admin
Mesaj Sayısı : 161 Puanlar : 145801416 REP : 94 Kayıt tarihi : 02/02/10 Nerden : Nereyee...
| Konu: Oto Priest.. Party dekilerin HP,MP,ID,JOB Bulma Çarş. Şub. 03, 2010 1:15 pm | |
| Oto priest çoğu kişinin uğraştığı bişeydi koxp yapımından anlıyosanız yapabilceğiniz genel bi konu olcak bu o yüzden kod paylaşmıyorum... vb de tam nasıl odlgunu bilmiyorum kodların ben c# kullanıyorum bildiğiniz üzere.. Neyse baslayalım..
Biliyosunuz bişey okutmak için mesela kendi hpniizi okudurken ptrchar + ofsethp yapıyosunuz partydekilerinde bunun mantıgıyla hemen hemen aynı ofset sayısı biraz daha fazla sadece
1805 için party pointerı : Kod: PtrParty = 0xC061c0 Party sayısını alalım : Kod: HP = ((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x360) Örneğin partydeki 1. kişinin Bilgilerini alalım : Kod:
HP = ((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x14) MaxHP = ((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x18) MP = ((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x1c) MaxMP = ((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x20) ID = ((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x8) Gördüğünüz gibi değişen sadece son ofsetler.. bu sadece 1. party üyesi için geçerlidir. 2. partyüyesi için tek fark 0x0 ofsetini iki kere toplamak 3. party üyesinde 3 kere 4. party üyesinde 4 kere toplatmak. yani; 4. party üyesi için hp : Kod: HP = (((((((0xC061c0+ 0x1c8) +0x35c) + 0x0) + 0x0) + 0x0) + 0x0) + 0x14) Priest skill kodları ise : Kod: "3101" + SkillID + "00" + CharID + PartyUyesiID + "0000000000000000000000000F00" "3101" + SkillID + "00" + CharID + PartyUyesiID + "0000000000000000000048A0"
Kod: ------------------------------------------------------- 1. party üyesi için C# Örnek...
//1. party kalan hp publicint AdresPartyHP; publicIntPtr AdresPartyHP1; publicint AdresPartyHP2; publicIntPtr AdresPartyHP3; publicint AdresPartyHP4; publicIntPtr AdresPartyHP5; publicint AdresPartyHP6; publicIntPtr AdresPartyHP7;
publicInt32 OffsetPartyHP = 0x1c8; publicInt32 OffsetPartyHP1 = 0x35c; publicInt32 OffsetPartyHP2 = 0x0; publicInt32 OffsetPartyHP3 = 0x14;
AdresPartyHP = BitConverter.ToInt32(ReadMemory(GameProcessHandle, newIntPtr(PartyHPValue)), 0); AdresPartyHP1 = newIntPtr(AdresPartyHP + OffsetPartyHP); AdresPartyHP2 = BitConverter.ToInt32(ReadMemory(GameProcessHandle, AdresPartyHP1), 0); AdresPartyHP3 = newIntPtr(AdresPartyHP2 + OffsetPartyHP1); AdresPartyHP4 = BitConverter.ToInt32(ReadMemory(GameProcessHandle, AdresPartyHP3), 0); AdresPartyHP5 = newIntPtr(AdresPartyHP4 + OffsetPartyHP2); AdresPartyHP6 = BitConverter.ToInt32(ReadMemory(GameProcessHandle, AdresPartyHP5), 0); AdresPartyHP7 = newIntPtr(AdresPartyHP6 + OffsetPartyHP3);
String partyHPuye1 = BitConverter.ToInt32(ReadMemory(GameProcessHandle, AdresPartyHP7), 0);
-------------------------------------------------------------------------------
1. party üyesi için VB kodu
Dim pPtr, pPtr1, pPtr2, pPtr3, party As Long
pPtr = ReadLong("&HC061C0") pPtr1 = ReadLong(pPtr + &H1c8) pPtr2 = ReadLong(pPtr1 + &H35c) pPtr3 = ReadLong(pPtr2 + &H0) party = ReadLong(pPtr3 + &H14)
son oalrakta party i bir labela yazdırın denenmiştir calısıyor
------------------------------------------------------------------ PT_COUNT = 0x360; PT_ID = 0x8; PT_LVL = 0xC; PT_RACE = 0x10; PT_HP = 0x14; PT_MAXHP = 0x18; PT_MP = 0x1C; PT_MAXMP = 0x20; PT_NAME = 0x30
örnek kodlarımızdaki 0x14 (&H14) bize 1. üyenin hpsini vermişti onun yerine 0x8 (&H8) yazarsanız id sini elde edersiniz... yukardaki dğeişen ofsetler verilmiştir.. ALINTIDIR... ByLetsFeeL Bi Teşekkürü Eksik Etmeyin... | |
|
ßy_JesteR Üye
Mesaj Sayısı : 4 Puanlar : 26115 REP : 0 Kayıt tarihi : 04/02/10
| Konu: Geri: Oto Priest.. Party dekilerin HP,MP,ID,JOB Bulma Cuma Şub. 05, 2010 10:49 am | |
| çok karışıkmış oto heaş buff yaparken bunlara gerek varmı | |
|
ByLetsFeeL Admin
Mesaj Sayısı : 161 Puanlar : 145801416 REP : 94 Kayıt tarihi : 02/02/10 Nerden : Nereyee...
| Konu: Geri: Oto Priest.. Party dekilerin HP,MP,ID,JOB Bulma Cuma Şub. 05, 2010 1:00 pm | |
| Var.. En zor konulardan biri budur... | |
|