Jump to content
McKay Development

Acorn Eyes

Member
  • Posts

    17
  • Joined

  • Last visited

Acorn Eyes's Achievements

  1. Nevermind I'm incredibly dumb. Flipping hexadecimal takes each 'pair' and reverses the order. So 3B000000 is actually 0000003B. The decimal version of which is 59. 59 is the def_index of the Terrorist knife, as expected. The correct function would be /** * Rename a stock item in your inventory using a name tag. * @param {int} nameTagId * @param {int} def_index * @param {string} name */ GlobalOffensive.prototype.nameBaseItem = function(nameTagId, def_index, name) { let buffer = new ByteBuffer(14 + Buffer.byteLength(name), ByteBuffer.LITTLE_ENDIAN); buffer.writeUint64(nameTagId); buffer.writeUint32(def_index); buffer.writeByte(0x00); // unknown buffer.writeCString(name); this._send(Language.NameBaseItem, null, buffer); }; This has been tested and confirmed working.
  2. I hate to ask this because it seems like a pretty simple thing to figure out but I've been banging my head here. Trying to figure out the proper payload to send to k_EMsgGCNameBaseItem using this as a starting point k_EMsgGCNameItem I've used NetHook2 to capture the payload sent when naming a base item, as well as when naming a storage casket. NameItem was 0100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000B873BC9706000000003F00 and NameBaseItem was 0100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD63BD97060000003B000000003F00 I was able to extract the part of the payload that's the ID of the base item (3B000000) thing is I have no earthly idea what that is as a unsigned 64 int. the base item ID is 17293822569102704699, which is longer than the typical item id (12345678901). There's no way that's what's being sent to GC because the id being sent is shorter: 8 bytes instead of 16. The beginning of the id is also irrelevant honestly, it was the exact same on a different account (172938225691) my latest attempt has been: GlobalOffensive.prototype.nameBaseItem = function(nameTagId, baseItemId, name) { let buffer = new ByteBuffer(14 + Buffer.byteLength(name), ByteBuffer.LITTLE_ENDIAN); buffer.writeUint64(nameTagId); buffer.writeUint64(baseItemId); buffer.writeByte(0x00); // unknown buffer.writeCString(name); this._send(Language.NameBaseItem, null, buffer); }; I've tried: 17293822569102704699, 02704699, 4699, and 4001 (the def_index) as the baseItemId. Appreciate any help!
  3. I figured, I'm just wondering why the callback only handles if there is one. if (callback) { this.once('inspectItemInfo#' + assetid, callback); } I would have expected a failed response if there isn't one. callback ? this.once('inspectItemInfo#' + assetid, callback) : return Null something like that.
  4. I'm using inspectItem in an array for loop, it seems like the callback is sometimes empty. Right now I'm using a setTimeout() function to delay each method by 1s, however I'd rather iterate through the for loop when the promise is fulfilled.
  5. That's a good point. So it's probably a lost cause to try and decipher that? Regardless, I'm still not entirely sure what is causing both functions (specifically NameItem which I know works in previous versions) to go through but not do anything. Does it have something to do with protobuf v6? As a sidenote: I really appreciate all the help you've given. I don't know how much people donate to you, but I doubt it's enough.
  6. It turns out I was confusing myself with all the files open. I was changing values in a config for the forked older version when I thought I was editing v2 Long story short, the error is irrelevant and I already fixed it. However with both nameBaseItem and nameItem, the request goes through but nothing happens. Sending GC message NameBaseItem Got unhandled GC message NameBaseItemResponseIs there a way to callback NameBaseItemResponse?
  7. Yeah I just opted to not include writing all those variables into a buffer for readability I'm getting an error Illegal value: "+value+" (not an integer) However its setup nearly identically to the last function: GlobalOffensive.prototype.nameBaseItem = function(nameTagID, defIndex, customName) { let buffer = new ByteBuffer(12 + Buffer.byteLength(customName) + 1); buffer.writeUint64(nameTagID); buffer.writeUint32(defIndex); buffer.writeUint8(0); buffer.writeCString(customName); this._send(Language.NameBaseItem, null, buffer); }; So I'm not sure why it wouldn't accept Buffer.byteLength(customName) Despite being unchanged.
  8. I see. So I see there's a k_EMsgGCNameBaseItemResponseWould this help me in any way understand what it expects? So if I for example send this._send(Language.NameBaseItem, null, nameTagID+WEAPON_TASER+0+customName); I'd like to know why it doesn't like that. There's only so many nametags I can get, I don't want to burn through them blindly guessing.
  9. Slightly unrelated question, is there a way to list all itemIDs, including items that are of base qualities? Since it's possible to rename base grade items through the client, I'm assuming the itemIDs for those items are already there.
  10. I'll try that out, thanks! I'll submit a pull request (properly this time, tabs and all) if it works.
  11. It does not work in the latest version, version 2.0.1 It does still work in version 1.3.2, the one from where you originally helped create the function Which leads me to believe that there was a change in module, not the game coordinator, that prevents it from working.
  12. I just cloned the forked repository after merging my own pull request to see if it was the module or CSGO itself that broke the function, it still works with version 1.3.2 I don't wish to take up your time, but I'm at a complete loss as to why that is.
  13. I revisted the whole function you helped me make a while ago, GlobalOffensive.prototype.nameItem = function(nameTagID, itemID, customName) { let buffer = new ByteBuffer(16 + Buffer.byteLength(customName) + 1); buffer.writeUint64(coerceToLong(nameTagID)); buffer.writeUint64(coerceToLong(itemID)); buffer.writeUint8(0); buffer.writeCString(customName); this._send(Language.NameItem, null, buffer); }; And it no longer seems to work. I'd also like to apologize for not submitting the pull request, I never got notified you responded so I wasn't aware that I submitted it against my own fork. Too late for that now since like I said, it no longer seems to work.
  14. I don't know if you want updates or not, let me know if you don't. But I haven't tried it so far, buying nametags everytime gets expensive so I'm running low for now. That's why I haven't really responded in several days.
×
×
  • Create New...