• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[OTSERVbr] Change outfit in client

Owneds

New Member
Joined
Nov 18, 2016
Messages
13
Solutions
1
Reaction score
3
Hello!

13+ Original Client. Do you also have such a problem that when you change an outfit in the client (mean Customize Character - not gamestore), when we choose an outfit that we don't have and want to buy, "You are exhausted" is shown to you?
Clicking Customize Character and selecting an outfit from the store does not redirect to the store.

How i can fix it?

Code:
GameStore.ServiceTypes = {
    SERVICE_STANDERD = 0,
    SERVICE_OUTFITS = 3,
    SERVICE_MOUNTS = 4,
    SERVICE_BLESSINGS = 5
}

GameStore.SendingPackets = {
    S_CoinBalance = 0xDF, -- 223
    S_StoreError = 0xE0, -- 224
    S_RequestPurchaseData = 0xE1, -- 225
    S_CoinBalanceUpdating = 0xF2, -- 242
    S_OpenStore = 0xFB, -- 251
    S_StoreOffers = 0xFC, -- 252
    S_OpenTransactionHistory = 0xFD, -- 253
    S_CompletePurchase = 0xFE  -- 254
}

GameStore.RecivedPackets = {
    C_StoreEvent = 0xE9, -- 233
    C_TransferCoins = 0xEF, -- 239
    C_ParseHirelingName = 0xEC, -- 236
    C_OpenStore = 0xFA, -- 250
    C_RequestStoreOffers = 0xFB, -- 251
    C_BuyStoreOffer = 0xFC, -- 252
    C_OpenTransactionHistory = 0xFD, -- 253
    C_RequestTransactionHistory = 0xFE, -- 254
}

Lua:
function onRecvbyte(player, msg, byte)
    if not configManager.getBoolean(STOREMODULES) then return true end
        if player:getVocation():getId() == 0 and not GameStore.haveCategoryRook() then
        return player:sendCancelMessage("Store don't have offers for rookgaard citizen.")
    end

    if byte == GameStore.RecivedPackets.C_StoreEvent then
    elseif byte == GameStore.RecivedPackets.C_TransferCoins then
        parseTransferableCoins(player:getId(), msg)
    elseif byte == GameStore.RecivedPackets.C_OpenStore then
        parseOpenStore(player:getId(), msg)
    elseif byte == GameStore.RecivedPackets.C_RequestStoreOffers then
        parseRequestStoreOffers(player:getId(), msg)
    elseif byte == GameStore.RecivedPackets.C_BuyStoreOffer then
        parseBuyStoreOffer(player:getId(), msg)
    elseif byte == GameStore.RecivedPackets.C_OpenTransactionHistory then
        parseOpenTransactionHistory(player:getId(), msg)
    elseif byte == GameStore.RecivedPackets.C_RequestTransactionHistory then
        parseRequestTransactionHistory(player:getId(), msg)
    end

    if player:isUIExhausted(250) then
        player:sendCancelMessage("You are exhausted.")
        return false
    end

    player:updateUIExhausted()
    return true
end

Code:
    {
        icons = { "Category_Outfits.png" },
        name = "Outfits",
        parent = "Cosmetics",
        rookgaard = true,
        state = GameStore.States.STATE_NONE,
        offers = {
            {
                icons = { "Outfit_Arbalester_Male_Addon_3.png", "Outfit_Arbalester_Female_Addon_3.png" },
                name = "Arbalester Outfit",
                price = 600,
                sexId = { female = 1450, male = 1449 },
                addon = 3,
                description = "{character}\n{info} colours can be changed using the Outfit dialog\n{info} includes basic outfit and 2 addons which can be selected individually\n\n<i>Armed with a powerful crossbow, and gifted with steady hands as well as a sharp eye, the Arbalester is not one to be trifled with. Requiring both skill and strength to properly wield, the arbalest is a mighty tool in the hands of an able marksman, shooting deadly bolts across great distance.</i>",
                type = GameStore.OfferTypes.OFFER_TYPE_OUTFIT,
            },
   
        },
 
Back
Top