Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Opcodes, Pytanie


Adiko

Rekomendowane odpowiedzi

Opublikowano

Witam. Otóż zacząłem sie bawić się w tworzenie prostych programów do silka, no i tu zaczyna się problem. Otóż musze na przykład znaleźć opcode S>C gdy jakiś potwór padnie jednak za każdym razem gdy padnie pojawia sie 6 różnych OPCODÓW!? Więc moje pytanie polega na tym, jak znaleźć właściwy opcode i jak go sprawdzić najkrótszym sposobem? Są do tego jakieś poradniki?

 

Pozdrawiam.

sygnae.jpg

Opublikowano

opcodów jest 6 a pakietów jeszcze więcej. Nie chce żebyś mi to zrobił, chce żebyś pokazał jak to zrobić, skąd mam wiedzieć który to? Mam takich opcdów 40 do znalezienia więc wątpie że będzie ci sie chciało to robić.

 

Kilka przykładowych pakietów:

 

(S->C) 30BF : DEC96F1B0002

(S->C) 3015 : 2B07000000DFC96F1BAA609C683F44AADFDF41074CB944CCDB01B29D00000105DEC96F1B

(S->C) 3056 : DEC96F1B960000005A000000

(S->C) 3057 : 458F6F1B010147020000

(S->C) B021 : E629F21901AA60A9013300930401AA60A212C8324C42B02C

(S->C) B023 : DEC96F1BAA608CAE3C44E797E1412833B94446F3

(S->C) B070 : 0102A1000000DEC96F1BC9B8000030458F6F1B010201458F6F1B00010100000001010000

 

Skąd mam wiedzieć do czego służą?

sygnae.jpg

Opublikowano

-__- a skąd pomysł że te wszystkie są za to odpowiedzialne ?

nie starczy mi palców żeby powiedzieć ci ile pakietów wysyła do ciebie serwer

powiedz lepiej co za sro wybrałeś

Opublikowano

Wiem że one wszystkie nei są odpowiedzialne i tak zrobiłem pauze. Po prostu po zabiciu moba tyle sie ich pojawia i niewiem który z nich jest właściwy

sygnae.jpg

Opublikowano

@2Up

 

To do mnie xD? Najlepiej odpalić pauzę i wtedy zabić moba i wyskoczą jakieś opcody. Później zaatakować tym samym skillem i będziesz wiedział jaki jest opcode na atakowanie. Potem dasz ignore i zostanie ci ten jeden.

1334497071-U17330.png

Opublikowano

no dobra w takim razie niby mam ten 1 opcode ale co z resztą? nie na wszystkie opcody jest taki "łatwy sposób". Musze wiedzieć jak sprawdzić do czego dany pakiet służy

sygnae.jpg

Opublikowano

-_-

pojebany pomysł

 

 

zrób tak zaznacz mobka

wtedy client wyśle do serwera jakiego zaznaczyłeś

wtedy będziesz miał jego ID

 

następnie wciśnij save

i zabij go przeszukaj wszystkie pakiety co wyśle ci serwer od tamtej pory z wykorzystaniem tego id'u mobka

z tego wszystkiego co dałeś stawiał bym na 30BF

Opublikowano

    Case Is = "30D2"
               Call XPSPUpdate(sData)
           Case Is = "32A6"
               frmMain.PlayerID.Text = Mid(sData, 1, 8)
           Case Is = "32B3"
               Call CharData(sData) 'Character info
               frmMain.tmrNotice.Enabled = True
               frmMain.tmrNotice2.Enabled = True
           Case Is = "343C"
               Call CharInfo(sData) 'Other character info
           Case Is = "3158"
               Call PetData(sData) 'Pet
           Case Is = "3052"
               Call Durability(sData) 'Durability
           Case Is = "B738"
               Call CharacterWalking(sData) 'Walking packet
           Case Is = "30B3"
               Call BerserkOrbGained(sData)
           Case Is = "B06D"
               Call ItemPick(sData) 'Item data
           Case Is = "B419"
               Call BuffCasted(sData) 'Using buff
           Case Is = "3158"
               Call PetData(sData) 'Pet
           Case Is = "3052"
               Call Durability(sData) 'Durability
           Case Is = "B5BD"
               Call InventoryUpdate(sData)  'Item update
           Case Is = "B6A0"
               Call BuffOver(sData)  'Buff over
       End Select
   Else
       Select Case sOpCode
           Case Is = "B021"
               Call CharacterWalking(sData) 'Walking packet
           Case Is = "304E"
               Call XPSPUpdate(sData) 'Monster died
           Case Is = "36AB" 'optional
               Call DropDisappeared(sData) 'monster died/left
           Case Is = "3056"
               Call MonsterDied(sData) 'Monster died
           Case Is = "3017"
               Call GroupSpawn30CB(sData) 'Multiple spawn data - before opcode 3417
           Case Is = "3019"
               Call GroupSpawn3417(sData) 'Multiple spawn data
           Case Is = "3057"
               Call HPMPUpdate(sData) 'HP/MP
           Case Is = "B070"
               Call ObjectAction(sData) 'Invalid attacks
               Call SkillCasted(sData)  'Using skill
           Case Is = "32A6"
               frmMain.PlayerID.Text = Mid(sData, 1, 8) 'Player id
           Case Is = "32B3"
               Call CharData(sData) 'Character info
               frmMain.tmrNotice.Enabled = True
               frmMain.tmrNotice2.Enabled = True
           Case Is = "304D"
               Call MonsterSpawn(sData) 'New monster or drop
           Case Is = "343C"
               Call CharInfo(sData) 'Other character info
           Case Is = "3158"
               Call PetData(sData) 'Pet
           Case Is = "3026"
               Call ChatFunction(sData) 'Chat
           Case Is = "B419"
               Call BuffCasted(sData) 'Using buff
           Case Is = "B2F5"
               Call CharacterStuck(sData) 'Character stuck on something
           Case Is = "3052"
               Call Durability(sData) 'Durability
           Case Is = "B06D"
               Call ItemPick(sData) 'Item crap
           Case Is = "330A"
               Call GroupSpawn330A(sData) 'After 3417
           Case Is = "37CE"
               Call YouDied(sData) 'Character died
           Case Is = "B06D"
               Call ItemPick(sData)
           Case Is = "30B3"
               Call BerserkOrbGained(sData)
           Case Is = "B6A0"
               Call BuffOver(sData)  'Buff over 

 

PS Tak to stary phbot. Próbuje go przerobić pod ZSZC

sygnae.jpg

Opublikowano

Jeden z nich będzie o aktualizacji HP mobka, jeden o dropnie, jeszcze inny o ruchu mobka bądź jego ataku.

Dowiedz się jakie te czynności mają opcode i usuwaj je aż zostanie Ci ten jeden, którego szukasz.

Knowledge is power. Power corrupts. Study hard, be evil!

Opublikowano

a i ty pytasz jak zdobyć resztę tego tak ?

S->C

3017 - Groupspawn 1

3019 - Groupspawn Data

3018 - Groupspawn 2

3015 - Nowy mobek na spocie

30BF - mobek zdechł

B070 - object action

3057 - HP/MP

B021 -poruszanie sie palyerow i mobków

C->S

7074-używanie skilli i podnoszenie itemków

7045 - zaznaczenie mobka

7021-chodzenie

 

więcej grzechów nie pamiętam

Opublikowano

Client
7021 - Walk Packet
7023 - Walking position update (sky click)
7024 - Walking position update (sky click)
7045 - Monster select
7046 - Menu select
7074 - Use skill / Item pick
7034 - Item move
7025 - Chat
7050 - Add Str
7051 - Add Int
E6101 - Request server stats
E6102 - Send username / password
E6103 - Send username / password
7001 - Select character
704B - Exit NPC
70B1 - Stall name
70BA - Stall message / Open stall
70B2 - Close stall
7005 - Logout
7006 - Cancel logout

Server
3026 - Chat
B021 - Monster/Player movement
A101 - Server stats
A102 - World server IP
A103 - Login success
B007 - Character listing
3013 - Character packet
3020 - Character ID
3017 - Groupspawn #1
3019 - Groupspawn Data
3018 - Groupspawn #2
3015 - Monster/Player spawn
30BF - Monster died
30BF - Monster died
B070 - Object action (invalid target)
B034 - Inventory movement
B070 - Monster attacking player
B034 - Item picked
3057 - HP/MP update
B024 - Direction update
B045 - Select monster reply
B046 - Menu select reply
B034 - Item sold success
30B8 - New stall opened
30B9 - Player closed stall
B0CB - Player spawned item (horse) 

 

Też to mam jednak od czasów ECSro te kody sie troche pozmieniały...

sygnae.jpg

Opublikowano

To może ja spytam tak, jak znaleźć te opcody?

 

            Case Is = "32A6"
               frmMain.PlayerID.Text = Mid(sData, 1, 8)
           Case Is = "32B3"
               Call CharData(sData) 'Character info
               frmMain.tmrNotice.Enabled = True
               frmMain.tmrNotice2.Enabled = True
           Case Is = "343C"
               Call CharInfo(sData) 'Other character info
           Case Is = "3158"
               Call PetData(sData) 'Pet

           Case Is = "B5BD"
               Call InventoryUpdate(sData)  'Item update
           Case Is = "32A6"
               frmMain.PlayerID.Text = Mid(sData, 1, 8) 'Player id

 

Na reszte opcodów mam kilka pomysłów

sygnae.jpg

Opublikowano

No tak nie zauważyłem, ale do czego wogóle służy character info i jak ten opcode zdobyć??

 

jest on użyty tylko raz jako

 

Public Function CharData(sData As String)

sygnae.jpg

Opublikowano

Dobra dzięki kilo_kartofli, mniejwiecej już wiem co i jak. Jakbym miał jeszcze z czymś problem to napisze w tym temacie

sygnae.jpg

Opublikowano

aha sory jeszcze jeden problem

 

Case Is = "343C"

Call CharInfo(sData) 'Other character info

 

Co to jest?

sygnae.jpg

Opublikowano

To jest to psy ballance, mag ballance, max hp, max mp itd... Staty chara.

Knowledge is power. Power corrupts. Study hard, be evil!

Opublikowano

Public Function CharInfo(sData As String)

Dim MaxHP, MaxMP As String

MaxHP = CLng(HexToDec(inversebyte(Mid(sData, 49, 8))))

MaxMP = CLng(HexToDec(inversebyte(Mid(sData, 57, 8))))

 

 

Jak to znaleźć?

sygnae.jpg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...