• 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!

Advanced Auction House v1.0 (WoW Based)

josejunior23

read&read&read
Joined
Apr 13, 2008
Messages
760
Solutions
3
Reaction score
90
Location
Portugal
Name: Advanced Auction House v1.0 code by josejunior23
Server: TFS 8.60-

How does it work:
idea as taken from World of Warcraft, the auction-house.
You put there items and wait for another player to buy it.
if nobody buy it, it get removed after X days.

Commands:
!auction-sell itemname, ammount, price - to add an item.
!auction-buy OfferID -buy an item by OfferID.
!auction-find itemname - find offers by item name.
!auction-del OfferID - to removed an offer that as made by you.
!auction-info OfferID - to get some inf about an offer by OfferID
!auction-list - show a complete list with all auction items.
!auction-list PLAYER_NAME - show player offers list by PLAYER_NAME
!auction-cmd - show a list with all commands.
!auction-clean - clean all offers with same date as the Player whos use it.(access 3+)
!auction-clean 01/01/11 - clean all offers with date 01/01/11(access 3+)
!auction-balance - see how much money you have in ur auction-house.
!auction-withdraw - take all your money from auction-house.

Information:
- all items will be saved into a .txt file, that works like,.. a 'database'?
- saved items will look like this:
01/01/11 3031 2000 10 2
date, itemID, price, ammount, playerGUID


Installing:
1º - make a XML file inside dir mods, called ADVANCED-AUCTION-HOUSE then put this inside:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="ADVANCED AUCTION HOUSE" version="1.0" author="josejunior23" contact="[email protected]" enabled="yes">
    <talkaction words="!auction-sell;!auction-buy;!auction-list;!auction-info;!auction-del;!auction-cmd;!auction;!auction-find;!auction-clean;!auction-withdraw;!auction-balance" case-sensitive="yes" event="script" value="AAH.lua"/>
    <globalevent name="aution_check" time="00:01" event="script" value="AAH.lua"/>
</mod>

2º - make a .LUA file inside mods/scripts called AAH then put this inside:

Lua:
--######################################### ABOUT  #################
--      Advanced Auction House                                                    ####
--          code by josejunior23                                                 ####
--  the function add_depot_item(guid, item, count) as made by magus from otserv.com.br        ####
--  any other code in this file as made by me.                                         ####
--               ... and thanks to the TFS, they make it more easy :)                          ####    
--######################################### CONFIG  ################################################################
local max_days, bad_items, able_items, max_offer, max_items, main_file, item_show, access_need  =--                                                                           # J   #
    2,  --                                              1º -      <MAX DAYS> - when player add an offer, his offer will stay for X days, in this case 2.                         # O  #
    {"gold coin", "crystal coin", "platinum coin", "worm"},  --     2º -     <IGNORED ITEMS> - put here all items that you dont want players put for sale.                                       #  S  # 
    {able_runes = false, able_potions = true}, --           3º -     <ABLE/DISABLE RUNES/POTIONS> - choose if you want to player sell runes/pots                          #  E  #
    40000000, --                                           4º -     <MAX OFFER> - max offer that players may ask for his item's, in this case 40 000 000 golds (40kk).              #  J  # 
    5, --                                               5º -     <MAX ITEMS PER PLAYER> - max items that each player can put for sale, in this case 5.                   #  R #    
    'houseItems.txt', --                                      6º -     <###MAIN FILE###> -  this is the name of the MAIN FILE, where the script save the offers..                   #  2 #
    2160, --                                               7º -     <DUUUH, NOTHING ESPECIAL> -  this show a crystal coin (itemid: 2160) when player say ex: !auction-list [param  #  3 #
    3 --                                                        8º -     <ACCESS> -  this  is the access You need to use command !auction-clean                                       ####    
--##########################################################################################################################

-- ########## LIB FUNCTIONS  ###########
function load_table(file)
    local t = { }
    for m in io.lines(file) do
        local d, i, c, a, s = m:match '(%S+)%s+(%S+)%s+(%S+)%s+(%S+)%s+(%S+)'
        table.insert(t, {date = d, item = i, cost = c, ammount = a, seller = s })    
    end
    return t
end
function save_table(file, text)
    local f = io.open(file,"w")
    f:write(text)
    f:close()
end
function add_new_line(file, arr)
    local tab = load_table(file)
    table.insert(tab, {date = arr.d, item = arr.i, cost = arr.c, ammount = arr.a, seller = arr.s })
    save_table(file, covert_table(tab))
end
function del_line_by_id(file, id)
    local tab = load_table(file)
    table.remove (tab, id)
    save_table(file, covert_table(tab))
end
function covert_table(tab)
    local t = ""
    for i in pairs(tab) do
        t = t .. "" .. tab[i].date .. " " .. tab[i].item .. " " .. tab[i].cost .. " " .. tab[i].ammount .. " " .. tab[i].seller .. "\n"
    end    
    return t
end
function get_ramdom_thing(tab)
    return tab[math.random(1, #tab)]
end
function list_items(tab, str)
    local i = 0
    if(str == nil) then str = "" end
    for id in pairs(tab) do
        i = i + 1
        if(tab[id].x) then i = tab[id].x end    
        str = str .. "\n " .. i .. "#  " .. tab[id].ammount .. "x " .. getItemNameById(tab[id].item) .. "  " .. tab[id].cost .. "  " .. getPlayerNameByGUID(tab[id].seller)
    end
    local txt = { "`!auction-buy id´\n->  to buy an item.", "`!auction-sell item, ammount, price´\n->  to sell an item.", "`!auction-info id´\n->  to see more information about id offer.",  "`!auction-list´\n->  to see a complete list with offers.", "`!auction-find name´\n-> to find offers by name.", "`!auction-withdraw´\n->  to get your money from our house.", "`!auction-del id´\n->  to delete an offer made by You."}
    return str .. "\n\nTip: " .. get_ramdom_thing(txt)
end
function get_info(file, id) -- id == line
    local tab, list = load_table(file), nil
    for i = 1, #tab do
        if(i == id)then list = {date = tab[i].date, item = tab[i].item, cost = tab[i].cost, ammount = tab[i].ammount, seller = tab[i].seller} break end
    end
    return list
end
function add_depot_item(guid, item, count)-- by Magus
    local item,count = type(item)=="table" and item or {item},type(count)=="table" and count or {(count or 1)}
    for k,v in ipairs(item) do
        local ls = db.getResult("SELECT `sid` FROM `player_depotitems` WHERE `player_id` = "..guid.." ORDER BY `sid` DESC LIMIT 1")
        return db.executeQuery("INSERT INTO `player_depotitems` (`player_id`, `sid`, `pid`, `itemtype`, `count`, `attributes`) VALUES ("..guid..", "..(ls:getDataInt("sid")+1)..", 101, "..v..", "..count[k]..", '"..(count[k] > 1 and string.format("%x",count[k]) or '').."')") or false
    end
end
function add_day (days)
    local d, m, y = tonumber(os.date("%d")) + days, tonumber(os.date("%m")), tonumber(os.date("%y"))
    while d > 30 do  d = 01  m = m + 1  end while m > 12 do  d = 01 m = 01 y = y + 1 end
    return  m .. "/" .. d .. "/" .. y
end    
function clean_offers(file, m)
    local l, t = 0, os.date("%m/%d/%y")
    if m then t = m end
    for e in io.lines(file) do
        l = l + 1
        local d, i, c, a, s = e:match '(%S+)%s+(%S+)%s+(%S+)%s+(%S+)%s+(%S+)'
        if(d == t) then
            del_line_by_id(file, l)
            l = l - 1
            local p = getPlayerByName(getPlayerNameByGUID(s))
            if(isCreature(p)) then
                doPlayerAddItem(p, i, a)
                doPlayerSendTextMessage(p,  MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: we could not sell Your ' .. a .. 'x of `' .. getItemNameById(i) .. '´ in our house, take it back.')    
            else
                local s, i, a = tonumber(s),tonumber(i),tonumber(a)
                add_depot_item(s, i, a)
            end            
        end
    end
end
function get_player_offers(g, file)-- g = player guid
    local o, x = {}, 0
    for l in io.lines(file) do
        x = x + 1
        local d, i, c, a, s = l:match '(%S+)%s+(%S+)%s+(%S+)%s+(%S+)%s+(%S+)'    
        if(tonumber(s) == g) then
            table.insert(o, {date = d, item = i, cost = c, ammount = a, seller = s , x = x})
        end
    end
    return o
end
function find_offers_by_name(name, file) -- this funciton find offers with item name
    local o, x = {}, 0
    for l in io.lines(file) do
        x = x + 1
        local d, i, c, a, s = l:match '(%S+)%s+(%S+)%s+(%S+)%s+(%S+)%s+(%S+)'    
        if(getItemNameById(tonumber(i)) == name) then
            table.insert(o, {date = d, item = i, cost = c, ammount = a, seller = s , x = x})
        end
    end
    return o
end
-- ########## LIB FUNCTIONS  ############

-- ########## onSay FUNCTION  ###########
function onSay(cid, words, param, channel)
    if(words == "!auction-sell") then
        local t = string.explode(param, ",")
        if not t[2] or not t[3] or not param or (isNumber(t[1])) or not(isNumber(t[2])) or not (isNumber(t[3])) or (tonumber(t[2]) <= 0) or (tonumber(t[2]) > 100) or (tonumber(t[3]) <= 0) or (tonumber(t[2]) > 1) and not (isItemStackable(getItemIdByName(t[1]))) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: type the name of an item with ammount and offer: `!auction-sell carrion worm fang, 100, 3650´.\n Tip: `!auction-sell´ is the command, `carrion worm fang´ is the item, `100´ is the ammount, `3650´ is the price you want for it.')
            return true
        end
        if(isItemContainer(getItemIdByName(t[1]))) or not (isItemMovable(getItemIdByName(t[1]))) or (isInArray(bad_items, t[1])) or (isItemFluidContainer(getItemIdByName(t[1]))) and (able_items.able_potions == false) or (isItemRune(getItemIdByName(t[1]))) and (able_items.able_runes == false) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: we do not accept those kind of items.')
            return true
        end
        if(max_items ~= 0) and (#get_player_offers(getPlayerGUID(cid), main_file) >= max_items) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: You already have too many items in our house. You have a total of `' .. #get_player_offers(getPlayerGUID(cid), main_file) .. '´ items in our house and still can put more `' .. max_items - #get_player_offers(getPlayerGUID(cid), main_file) .. '´ items.')
            return true
        end
        if(tonumber(t[3]) > max_offer) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: sorry, this price is too much. the limit is: `' .. max_offer .. '´ golds.')
            return true
        end    
        if(doPlayerRemoveItem(cid, getItemIdByName(t[1]), t[2])) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: we have added your ' .. t[2] .. 'x  `' .. t[1] .. '´ as offer to our house.\n say `!auction-info ' .. #load_table(main_file) + 1 .. '´ to see more information about your offer.\nYou have a total of `' .. #get_player_offers(getPlayerGUID(cid), main_file)+1 .. '´ items in our house and still can put more `' .. (max_items == 0 and "NO LIMIT" or max_items - #get_player_offers(getPlayerGUID(cid), main_file) -  1) .. '´ items.')
            add_new_line(main_file, {d = add_day (max_days), i = getItemIdByName(t[1]), c = tonumber(t[3]), a = tonumber(t[2]), s = getPlayerGUID(cid)})
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find item `' .. t[1] .. '´ in your backpacks/slots.')
        end
    elseif(words == "!auction-buy") then
        if not (isNumber(param)) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: ID. Offer should be a number.')
            return true
        end
        local f = get_info(main_file, tonumber(param))
        if not f then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find results for ID. `' .. tonumber(param) .. '´.')
            return true
        end
        if(doPlayerRemoveMoney(cid, f.cost) == true) then
            del_line_by_id(main_file,  tonumber(param))
            doPlayerAddItem(cid, f.item, f.ammount, false)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: You brought ' .. f.ammount .. 'x of `' .. getItemNameById(f.item) .. '´ for `' .. f.cost .. '´ golds from our house.')        
            local pid = getPlayerByName(getPlayerNameByGUID(f.seller))
            if not (isCreature(pid)) then
                db.executeQuery("UPDATE `players` SET `balance` = `balance` + '" .. f.cost .. "' WHERE `name` = '" .. getPlayerNameByGUID(f.seller) .. "';")
                return true
            end
            doPlayerAddMoney(pid, f.cost)
            doPlayerSendTextMessage(pid,  MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: we sold Your ' .. f.ammount .. 'x of `' .. getItemNameById(f.item) .. '´ in our house, heres Yours `' .. f.cost .. '´ golds.')            
        end
    elseif(words == "!auction-list") then
        if(param == '') then
            local tab = load_table(main_file)
            if(#tab > 20) then
                doShowTextDialog(cid, item_show, list_items(tab, "    #-> ADVANCED AUCTION HOUSE <-#\n\n Total of `" .. #tab .. "´ items in our stock.\n\n ID.           Item           Gold            Seller"))
            else
                doPlayerPopupFYI(cid, list_items(tab, "    #-> ADVANCED AUCTION HOUSE <-#\n\n Total of `" .. #tab .. "´ items in our stock.\n\n ID.           Item           Gold            Seller"))
            end
        else
            if(isNumber(param)) or not (isPlayer(getPlayerByName(param))) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find a player online with name: `' .. param .. '´. \n Tip: remember, You can only look for offers from a player that is online. but You still can see their offers from `!auction-list´.')            
                return true
            end
            local offers = get_player_offers(getPlayerGUID(getPlayerByName(param)), main_file)
            doShowTextDialog(cid, item_show, list_items(offers, "    #-> ADVANCED AUCTION HOUSE <-#\n\n " .. string.upper(param) .. ", \n as a total of `" .. #offers .. "´ items in our stock.\n\n ID.      Item           Gold            Seller"))                
        end
    elseif(words == "!auction-info") then    
        if not (isNumber(param)) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: ID. Offer should be a number.')
            return true
        end
        local f = get_info(main_file, tonumber(param))
        if not f then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find results for ID. `' .. tonumber(param) .. '´.')
            return true
        end
        local txt = "  #-> ADVANCED AUCTION HOUSE <-#\n                Showing Offer ID. " .. tonumber(param) ..
        "#\n\n - Expire Date: " .. f.date ..  "\n - Item: x" .. f.ammount .. " " .. getItemNameById(f.item) ..
        "\n - Cost: " .. f.cost .. " golds\n - Seller: " .. getPlayerNameByGUID(f.seller) .. "" 
        doShowTextDialog(cid, f.item, txt)    
    elseif(words == "!auction-del") then    
        if not (isNumber(param)) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: ID. Offer should be a number.')
            return true
        end        
        local f = get_info(main_file, tonumber(param))
        if not f then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find results for ID. `' .. tonumber(param) .. '´.')
            return true
        end
        if(tonumber(f.seller) == getPlayerGUID(cid)) then
            del_line_by_id(main_file,  tonumber(param))
            doPlayerAddItem(cid, f.item, f.ammount, false)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: we removed your offer from our house, take back x' .. f.ammount .. ' of `' .. getItemNameById(f.item) .. '´.')        
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: You may not remove offer ID. `' .. tonumber(param) .. '´. reason: it does not belongs to You.')
        end        
    elseif(words == "!auction-find") then    
        if(isNumber(param)) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find results for item `' .. tonumber(param) .. '´, make sure the name is right.')
            return true
        end
        local tab = find_offers_by_name(param, main_file)
        if(#tab == 0) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: could not find results for item `' .. param .. '´.')
            return true
        end        
        doShowTextDialog(cid,  getItemIdByName(param), list_items(tab, "    #-> ADVANCED AUCTION HOUSE <-#\n\n Total of `" .. #tab .. "´ `" .. param .. "´ in our stock.\n\n ID.           Item           Gold            Seller"))
    elseif(words == "!auction-cmd") or(words == "!auction") then        
        local stuff = {{"`!auction-buy id´", "to buy an item by offer id\n\n"},  {"`!auction-sell itemname, ammount, price´", "to sell an item\n\n"}, {"`!auction-info id´", "to see more information about offer id\n\n"}, {"`!auction-list´", "to see a complete list with offers\n\n"}, {"`!auction-del id´", "to delete an offer made by you\n\n"}, {"`!auction-find name´", "to find offers by name\n\n"},  {"`!auction-withdraw´", "to get your money from our house\n\n"}, {"`!auction-balance´", "to see your current balance in our house\n\n"}}
        local txt =  "             > ADVANCED AUCTION HOUSE <\n\n"
        for i = 1, #stuff do txt = txt ..  " " .. i .. ". - " .. stuff[i][1] .. "\n      > " .. stuff[i][2] end
        -- ^ dont ask why, I just made in this way =)
        doPlayerPopupFYI(cid, txt .. "\n                   >Code by josejunior23<")
        --                                                                                                    ^ Do not remove s2
    elseif(words == "!auction-withdraw") then    
        local total_money = getPlayerBalance(cid)
        if(total_money <= 0) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: Your balance is `0´. ')
            return true
        end    
        doPlayerAddMoney(cid, total_money)
        doPlayerSetBalance(cid, 0)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: You withdraw `' .. total_money .. '´ golds from our house. Your balance is now `0´.')
    elseif(words == "!auction-balance") then    
        local total_money = getPlayerBalance(cid)
        if(total_money <= 0) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: Your balance is `0´. ')
            return true
        end    
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: Your balance is `' .. total_money .. '´golds, You can withdraw that money at anytime, type `!aution-withdraw´ to get all Your money from our house.')
    elseif(words == "!auction-clean") then        
        if not (getPlayerAccess(cid) >= access_need) then
            doPlayerSendCancel(cid, '<this is not a valid command>')
            return false    
        end    
        if not (param) then
            clean_offers(main_file)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: all offers with date: ' .. os.date("%m/%d/%y") .. ' as been reseted.\n Remember, the scripts ignore offers with less/more days.')
            return true
        end    
        if(isNumber(param)) then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: this is not a valid date, date format should be like in this example: ' .. os.date("%m/%d/%y") .. ' (month/day/year) . ')
            return true
        end
        clean_offers(main_file, param)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, '[AUCTION-HOUSE]: all offers with date: ' .. param .. ' as been reseted.\n Remember, the scripts ignore offers with less/more days.')    
    end
    return true
end
-- ########## onSay FUNCTION  ###########

-- ########## onTimer FUNCTION  ##########
function onTimer(cid, interval, lastExecution)
    clean_offers(main_file)
    return true
end
-- ########## onTimer FUNCTION  ##########

3º - make a .txt inside the path of your server(same locate as .exe file), called houseItems, like this -> houseItems.txt

DONE, have fun with that system, hope you enjoy it! comments are welcome.

SOME PICS:
info1vs.png
info2r.png

listp.png
listyo.png
selll.png
 
Last edited:
this is so lot of work, i dont understand persons wich releasing jobs such as it... this is awsome :)
 
iv seen lots of systems like this already but good work i really like the way this one looks.
 
Why did you use mod for this if you split it into 2 files anyway? Either use cdata or lib for that.

Code:
while m > 12 do
	d = 01 m = 01 y = y + 1
end

Why while loop here, if it will happen only once? Simple if would be enough.

Code:
function get_ramdom_thing(tab)
random*

Code:
 local item,count = type(item)=="table" and item or {item},type(count)=="table" and count or [b]{(count or 1)}[/b]
This should be enough:
Code:
{count or 1}

These function names and coding style makes my eyes hurt, can't be arsed to check rest.
 
Last edited:
thanks mr expert.

local item,count = type(item)=="table" and item or {item},type(count)=="table" and count or {(count or 1)}
this inst made by me, so learn read before blame,

function get_ramdom_thing(tab)

rlly? i wont fix it. its my func, i give the name i want.

while m > 12 do
d = 01 m = 01 y = y + 1
end
ooh, ok.

These function names and coding style makes my eyes hurt, can't be arsed to check rest.

- u dont like my code style? nobody ask u anything.........
:D


Q: why on otland theres ALWAYS anybody to blame, hate or just say something bad?
 
thanks mr expert.


this inst made by me, so learn read before blame,



rlly? i wont fix it. its my func, i give the name i want.


ooh, ok.

These function names and coding style makes my eyes hurt, can't be arsed to check rest.

- u dont like my code style? nobody ask u anything.........
:D

so, using your logic, why did you post this? nobody asked you..

not using your logic, Derek~ is just giving his opinion, and he's actually trying to help you by posting your mistakes, if you're not going to accept something like that, why do you even post this?
 
@Bogart
heyhey stop right now,
he said "These function names and coding style makes my eyes hurt, can't be arsed to check rest. "
who ask if he like my code style, ITS MY CODE STYLE! damn.
understand now? need a paint? ops :D

okok, comment if u like, or have some ideas for it. if ure a hater like those ones, dont comment, THANKS!
 
Q: why on otland theres ALWAYS anybody to blame, hate or just say something bad?
because we have an active and big community with critique, it isnt dead as some guys think
they are not flaming, just suggesting you how to improve your script, theres no need to rage
 
because we have an active and big community with critique, it isnt dead as some guys think
they are not flaming, just suggesting you how to improve your script, theres no need to rage

i understand that, but try to explain me that:
"These function names and coding style makes my eyes hurt, can't be arsed to check rest."
dont like the functions names? OMFG U DONT HAVE TO!
dont like the code style? same.

i just cant understand those comment! sure its come from an unhappy n3rd who don't have anything else to do, sorry!

thanks cyber
 
Last edited:
i understand that, but try to explain me that:
"These function names and coding style makes my eyes hurt, can't be arsed to check rest."

thanks cyber
chojrak is always like that ;p cant help it
 
Are you retarded or something? You said "Comments are welcome", so I came with my advice about your code, I didn't want to blame you or so it was just my opinion about your code. Not every comment has to be "Nice", "Thx", "You're awesome", if you can't accept any other comment that that then maybe you have some problems with ego?

this inst made by me, so learn read before blame,
I don't care if it was made by you or not, I just posted my advice on how to improve this code.

rlly? i wont fix it. its my func, i give the name i want.
I know it's your function but why do you complicate life for anybody else? Everyone is used to random so in case someone wants to edit code, he'll be confused because of that.

- u dont like my code style? nobody ask u anything.........
:D
I just said I can't be arsed to check rest of code 'cause I don't like the code style, nothing else.

Q: why on otland theres ALWAYS anybody to blame, hate or just say something bad?
I didn't blame you in my previous post, you said that comments are welcome so I posted my advice about your code, nothing else. Yeah, sure I called you now retarded, but that's true if you can't accept any negative comments.
 
Last edited:
@Derek Boom Boom
u keep saying sh1ts, please, make me a favor. when u see any post with my name, dont even comment.
 
Last edited by a moderator:
@Derek Boom Boom
u keep saying sh1ts, please, make me a favor. when u see any post with my name, dont even comment. p
How come my posts are shit? Orginally my post was just an advice, why can't you accept any negative comment? Well, it wasn't even negative just an advice.
 
Quit fighting, he contributed something to the community.
He even beat CipSoft to it, even though they're gonna make it look a lot nicer anyways.

Jose, thanks :) Not many people release giant codes like this.
 
Great idea but doesn't work for me, it crashed my server.

Edit: Sry misread, it's for 8.6 i see, i'm using 8.54 TFS 0.3.6, is it hard to change it to that version? Like changing a few lines, or is it impossible?
 
Last edited by a moderator:
I've written some kind of this like in 2009, but when I wanted to release it my computer did crash. Very nice release indeed! :)
 
isn't better use this with a NPC that open you the list of the Auctions?, i think its better than talkactions.
 
Back
Top