[CO2]Fuctions List

09/28/2008 11:28 IAmHawtness#31
Okay, just to clear things.. I'm not saying it's possible to change the "stall carpet" to a Blacksmith NPC. I'm saying it's possible to change the MODEL of the carpet to something else, like a Blacksmith. The Blacksmith would still act like your shop; if someone clicks it, your shop will open.

I have done it, and it's possible with a proxy. I just figured it'd be doable through asm too.
09/28/2008 12:17 MushyPeas#32
If this works then I still wonder why on earth they would request such info from the client :|
09/28/2008 12:30 IAmHawtness#33
Quote:
Originally Posted by MushyPeas View Post
If this works then I still wonder why on earth they would request such info from the client :|
Yea, I know, I was like wtf too, when I did it the first time.
As far as I remember it was a "06" at the end of the "set-up-a-stall-packet" that determined the "carpet model".:p
09/28/2008 12:30 tanelipe#34
It wouldn't even be hard to change what a certain packet contains via asm; Only thing you need to know is the packet id, look where the packet is constructed and hook on it. If it works, good. I doubt it will though, it can't have been coded that poorly.
09/28/2008 12:50 IAmHawtness#35
Code:
18 00 F2 03 F9 A8 EB 00 77 32 16 00 DC 00 0C 01 DC 00 0C [SIZE="4"][COLOR="Red"]01 06[/COLOR][/SIZE] 00 6F 00
This was the thing that controlled the "carpet model" in the set-up-a-stall-packet, before they changed encryptions at least. Change it 1E 24 and you'd have (according to what I remember) one of those sandmonster NPCs (or well, the model of it).

I know all this is probably a bit off-topic, but I was just thinking that *M*, or some other person, could make this via asm. :)
09/28/2008 13:08 Some-Guy#36
Quote:
Originally Posted by Force.Of.Spite View Post
I'd like to see you force a packet into the server by just editing your client :S
Actually you could edit the client to call the correct functions to create encrypt and send a packet (though you'd only need to worry about calling the create packet function) in order to send any packet you desire.

I have to ask, how much have you actually done? Have you ever played around with packet data? Because I have and I'm sure *M* and IAmHawtness have.

In other news (to you at least) it used to be possible to spawn npcs anywhere before tq implemented a range check in order to upgrade, repair, buy and sell...all that would happen is you could spawn an npc client side and use it to force the client to create and send packets itself for what you wanted to do (or you could send the raw ackets yourself).
09/28/2008 13:52 IAmHawtness#37
Woot.. So, I actually played around with asm a bit.. This is what I managed to do so far:p
Edit: Posted another picture to prove that this isn't client sided

Edit2:
LOL, I did it :D. Feel free to visit me and check it out yourself :p.

I fucking love asm :eek:

For anyone who would like to try this, PM me or something ;). Or find out how to do it like I did.
09/28/2008 15:24 Some-Guy#38
Quote:
Originally Posted by IAmHawtness View Post
Woot.. So, I actually played around with asm a bit.. This is what I managed to do so far:p
Edit: Posted another picture to prove that this isn't client sided

Edit2:
LOL, I did it :D. Feel free to visit me and check it out yourself :p.

I fucking love asm :eek:

For anyone who would like to try this, PM me or something ;). Or find out how to do it like I did.
haha it's been a long time since I've been able to place the carpet anywhere :D Thought they fixed that so it had to be in front of a flag...I could still open it in front of any flag though as long I sat at another one....COOL! gratz.
09/28/2008 15:30 IAmHawtness#39
Quote:
Originally Posted by Some-Guy View Post
haha it's been a long time since I've been able to place the carpet anywhere :D Thought they fixed that so it had to be in front of a flag...I could still open it in front of any flag though as long I sat at another one....COOL! gratz.
Haha, this is awesome. I found the ID of the GuildWar Pole (2B2), it should create some attention if I placed it near LoveStone or something in Market:p
09/28/2008 16:53 `xEnt#40
Umm yea so you can change the client, what good is that anyway? Using those shops etc will still be server side and not allow you to do things.
09/28/2008 17:00 IAmHawtness#41
Quote:
Originally Posted by `xEnt View Post
Umm yea so you can change the client, what good is that anyway? Using those shops etc will still be server side and not allow you to do things.
Server side, exactly. That's why it's funny, other people see your shop as, for example, a Guild War Pole, and when they click it, my shop opens.
It's just an attention drawer. Being able to place the shop wherever you want is fun too :).
09/28/2008 18:34 tanelipe#42
That is rather funny, I'm going to do some tests tomorrow whether I can create a custom command to spawn them. :P Only thing I need to know is how to get a string splitted by certain delimiter. (So I can create a command like /spawn <ID> :P, I can read the coordinates of player from memory)
09/29/2008 20:23 tanelipe#43
Sorry for double posting.

At address 004E6F26 for latest client it starts some sort of item processor, basically you can make it to output whenever you get a meteor/dragonball or other drops.


Code:
004E708D  |> 3D 009A1000          CMP EAX,109A00; Check whether id is 1088000 (Dragonball)
004E7092  |.  0F84 8B000000       JE 004E7123
004E7098  |.  3D 019A1000         CMP EAX,109A01 ; Check whether id is 1088001 (Meteor)
004E709D      0F84 2E920400       JE 004E7123
Basically you can make the Conquer.exe to tell whenever a meteor or dragonball dropped, here's an example of how to make the client trigger on meteor drop

Code:
005302D1 {

This is the code to output a message on screen. 
//Bytes
6A 00 
6A 00
68 0000FF00
68 D5070000
B9 48945700
E8 2F43F5FF
E9 306EFBFF

//Asm code
005302D1      6A 00               PUSH 0
005302D3      6A 00               PUSH 0
005302D5      68 0000FF00         PUSH 0FF0000
005302DA      68 D5070000         PUSH 7D5
005302DF      68 70905600         PUSH OFFSET Conquer.00569070             ; ASCII "Meteor dropped!"
005302E4      B9 48945700         MOV ECX,OFFSET Conquer.00579448
005302E9      E8 2F43F5FF         CALL 0048461D
005302EE    ^ E9 306EFBFF         JMP 004E7123

};
00569070 {
//Bytes
4D 65 74 65 6F 72 20 64 72 6F 70 70 65 64 21 ; "Meteor Dropped!" (We add this to Conquer.exe data)

};

 
004E709D {
 
//Bytes
0F84 2E920400
//Asm code
004E709D     /0F84 2E920400       JE 005302D1

}
Outside the brackets is the address where to write, inside are the code bytes.

Feel free to ask about this.
10/17/2009 22:50 Matic^#44
Hello, sorry if it is in wrong thread, i interesting how to find item address, ( for exmalpe i need talisman address/ ID) TY