Jump to content

Valenza

Inactive Member
  • Posts

    49
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Valenza

  1.  

    Use this:
     

    quest guildstorage begin
    state start begin
     
    function getinput©
    cmdchat("GetInputStart")
    local ret = input(cmdchat©)
    cmdchat("GetInputStop")
    return ret
    end
     
    function item_can_store(itemvnum)
    local antiflags = guildstorage.item_get_real_antiflags(guildstorage.item_antiflag(itemvnum))
    for i = 1 , table.getn(antiflags) do
    if antiflags == 128 or antiflags == 131072 or antiflags == 8192 or antiflags == 64 then return false end
    end
    return true
    end
     
    function item_get_real_antiflags(antiflag_)
    antiflags = {131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1}
    tab2 = {}
    table.foreach(antiflags,function(_,v) if antiflag_ >= v then table.insert(tab2,v) antiflag_ = antiflag_ - v end end)
    return tab2
    end
     
    function item_antiflag(item_vnum)
    local result = mysql_query("SELECT antiflag from player.item_proto where vnum = "..item_vnum..";")
    return (result[1][1])--pack
    end
     
    ----------------------
    --LOGS START
    ----------------------
     
    function load_logs()
    local logs = {}
    local gs_logs = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "r")
    for line in gs_logs:lines() do
    table.insert(logs,guildstorage.split_(line,"#"))
    end
    return logs
    end
     
    function clear_logs()
    local gs_log = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "w+")
    gs_log:flush()
    gs_log:close()
    end
     
    function add_log(name_,type_,do_,desc_)
    local gs_log = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "a+")
    local date_ = os.date()
    date_ = string.gsub(date_," ", "+-+")
    desc_ = string.gsub(desc_," ", "+-+")
    gs_log:write(name_..'#'..date_..'#'..type_..'#'..do_..'#'..desc_..'n')
    gs_log:flush()
    gs_log:close()
    end
     
    ----------------------
    --LOGS END
    ----------------------
     
    ----------------------
    --MEMBER & AUTHORITY START
    ----------------------
    -- Auth 0 = einlagern
    -- Auth 1 = rausnehmen
    -- Auth 2 = einzahlen
    -- Auth 3 = auszahlen
     
    function get_members()
    local members = {}
    local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "r")
    for line in gs_member:lines() do
    table.insert(members,guildstorage.split_(line,"#"))
    end
    return members
    end
     
    function get_authority(authID)
    if pc.is_guild_master() then return true end
    local members = guildstorage.get_members()
    for i = 1, table.getn(members) do
    if members[1] == pc.get_name() then
    if tonumber(members[authID+2]) == 0 then return false else return true end
    end
    end
    return false
    end
     
    function set_authority(member,authID,auth)
    local members = guildstorage.get_members()
     
    for i = 1, table.getn(members) do
    if members[1] == member then 
    members[authID+2] = auth
    break
    end
    end
     
    local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
     
    for i = 1, table.getn(members) do
    gs_member:write(members[1]..'#'..members[2]..'#'..members[3]..'#'..members[4]..'#'..members[5]..'n')
    end
    gs_member:flush()
    gs_member:close()
    end
     
    function add_member(member)
    local members = guildstorage.get_members()
     
    for i = 1, table.getn(members) do
    if members[1] == member then 
    syschat'Member ist schon eingetragen.' 
    return
    end
    end
     
    local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "a+")
    gs_member:write(member..'#0#0#0#0n')
    gs_member:flush()
    gs_member:close()
    end
     
    function delete_member(member)
    local members = guildstorage.get_members()
     
    for i = 1, table.getn(members) do
    if members[1] == member then 
    table.remove(members,i)
    break
    end
    end
     
    local gs_member = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
     
    for i = 1, table.getn(members) do
    gs_member:write(members[1]..'#'..members[2]..'#'..members[3]..'#'..members[4]..'#'..members[5]..'n')
    end
    gs_member:flush()
    gs_member:close()
    end
     
    ----------------------
    --MEMBER & AUTHORITY END
    ----------------------
     
    ----------------------
    --MONEY START
    ----------------------
    function get_money()
    local gs_money = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "r")
    for line in gs_money:lines() do
    return tonumber(line)
    end
    end
     
    function change_money(money)
    local old_money = guildstorage.get_money()
    local gs_money = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "w+")
     
    gs_money:write(old_money+money)
    gs_money:flush()
    gs_money:close()
    end
     
    ----------------------
    --MONEY END
    ----------------------
     
    ----------------------
    --STORAGE START
    ----------------------
     
    function has_guildstorage()
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "r")      
    if guildstorage == nil then
    return false
    else
    return true
    end
    end
     
    function give_item(itemTab)
    pc.give_item2_select(itemTab[1],itemTab[2])
    local attr,socket = {},{}
    for i = 10,23 do table.insert(attr,{itemTab,itemTab[i+1]}) i = i+1 end
    for i = 4,6 do table.insert(socket,itemTab) end
    for i = 1, table.getn(attr) do 
    item2.set_attr(i-1, attr[1], attr[2]) 
    end 
    for i = 1, table.getn(socket) do if tonumber(socket) > 0 then item.set_socket(i-1, socket) end end
    end
     
    function get_slot_item(slot)
    local items = guildstorage.get_items()
    for i = 1, table.getn(items) do
    local item = guildstorage.split_(items,"#")
    if tonumber(item[3]) == slot then
    return item
    end
    end
    return 0
    end
     
    function refresh()
    cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money())
    local items = guildstorage.get_items()
    if items != 0 then
    for i = 1, table.getn(items) do
    local item = guildstorage.split_(items,"#")
    -- chat(table.getn(item))
    cmdchat('GUILDSTORAGE_ADDITEM '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23])
    end
    end
    cmdchat('GUILDSTORAGE REFRESH')
    end
     
    function refresh_tempslots()
    cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money())
    cmdchat('GUILDSTORAGE CLEAR_TEMPSLOTS')
    local items = guildstorage.get_items()
    if items != 0 then
    for i = 1, table.getn(items) do
    local item = guildstorage.split_(items,"#")
    cmdchat('GUILDSTORAGE_ADDTEMPSLOT '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23])
    end
    end
    cmdchat('GUILDSTORAGE COMPARE_TEMPSLOTS')
    end
     
    function slot_empty(slot)
    local itemList = guildstorage.get_items()
     
    for i = 1 , table.getn(itemList) do
    local item = guildstorage.split_(itemList,"#")
    if tonumber(item[3]) == slot then
    return false
    end
    end
    return true
    end
     
    function create_guildstorage()
    os.execute("mkdir ".."/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild())
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "w+")
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "w+")
    guildstorage:write("0")
    guildstorage:close()
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "w+")
     
    guildstorage:close()
    end
     
    function insert_item(cell,slot,tab)
    item.select_cell(cell)
    local attr = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)},{item2.get_attr(4)},{item2.get_attr(5)},{item2.get_attr(6)}}
    local socket, itemVnum, itemCount = {item.get_socket(0), item.get_socket(1), item.get_socket(2),item.get_socket(3),item.get_socket(4),item.get_socket(5)}, item.get_vnum(), item.get_count()     
    if not guildstorage.item_can_store(itemVnum) then syschat'Dieses Item kann nicht gelagert werden.' return end
    guildstorage.add_log(pc.get_name(),'Item','einlagern',item_name(itemVnum)..' ('..itemCount..')')
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "a+")
    if not pc.can_warp() then return end
    item.select(cell)
    if item.vnum == 0 then return end
    --if item.rem(item.get_count()) then
    item.remove()
    guildstorage:write(itemVnum.."#"..itemCount.."#"..(slot+120*tab).."#"..socket[1].."#"..socket[2].."#"..socket[3].."#"..socket[4].."#"..socket[5].."#"..socket[6].."#"..attr[1][1].."#"..attr[1][2].."#"..attr[2][1].."#"..attr[2][2].."#"..attr[3][1].."#"..attr[3][2].."#"..attr[4][1].."#"..attr[4][2].."#"..attr[5][1].."#"..attr[5][2].."#"..attr[6][1].."#"..attr[6][2].."#"..attr[7][1].."#"..attr[7][2].."n")
    guildstorage:flush()
    guildstorage:close()
    cmdchat('GUILDSTORAGE_ADDITEMSLOT '..slot..' '..tab..' '..itemVnum..' '..itemCount..' '..socket[1]..' '..socket[2]..' '..socket[3]..' '..socket[4]..' '..socket[5]..' '..socket[6]..' '..attr[1][1]..' '..attr[1][2]..' '..attr[2][1]..' '..attr[2][2]..' '..attr[3][1]..' '..attr[3][2]..' '..attr[4][1]..' '..attr[4][2]..' '..attr[5][1]..' '..attr[5][2]..' '..attr[6][1]..' '..attr[6][2]..' '..attr[7][1]..' '..attr[7][2])
    --else
    --syschat("Du hast das Item nicht mehr")
    --end
    end
     
    function remove_item(slot)
    local gsPath = "/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt"
    local items = {}
    local itemList = guildstorage.get_items()
     
    for i = 1 , table.getn(itemList) do
    table.insert(items,guildstorage.split_(itemList,"#"))
    end
     
    for i = 1, table.getn(items) do
    if items[3] == tostring(slot) then 
    guildstorage.add_log(pc.get_name(),'Item','rausnehmen',item_name(items[1])..' ('..items[2]..')')
    table.remove(items,i)
    break
    end
    end
    local gs = io.open(gsPath, "w+")
    for i = 1, table.getn(items) do
    gs:write(items[1]..'#'..items[2]..'#'..items[3]..'#'..items[4]..'#'..items[5]..'#'..items[6]..'#'..items[7]..'#'..items[8]..'#'..items[9]..'#'..items[10]..'#'..items[11]..'#'..items[12]..'#'..items[13]..'#'..items[14]..'#'..items[15]..'#'..items[16]..'#'..items[17]..'#'..items[18]..'#'..items[19]..'#'..items[20]..'#'..items[21]..'#'..items[22]..'#'..items[23]..'n')
    end
    gs:flush()
    gs:close()
    end
     
    function get_items()
    local guildstorageTab = {}
    local guildstorage = io.open("/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "r")
    for item in guildstorage:lines() do
    table.insert(guildstorageTab,item)
    end
    return guildstorageTab or 0
    end
     
    function move_item(from,to)
    local gsPath = "/usr/home/game/share/locale/service/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt"
     
    local items = {}
    local itemList = guildstorage.get_items()
     
    for i = 1 , table.getn(itemList) do
    table.insert(items,guildstorage.split_(itemList,"#"))
    end
     
    for i = 1, table.getn(items) do
    if items[3] == tostring(from) then items[3] = tostring(to) end
    end
    local gs = io.open(gsPath, "w+")
    for i = 1, table.getn(items) do
    gs:write(items[1]..'#'..items[2]..'#'..items[3]..'#'..items[4]..'#'..items[5]..'#'..items[6]..'#'..items[7]..'#'..items[8]..'#'..items[9]..'#'..items[10]..'#'..items[11]..'#'..items[12]..'#'..items[13]..'#'..items[14]..'#'..items[15]..'#'..items[16]..'#'..items[17]..'#'..items[18]..'#'..items[19]..'#'..items[20]..'#'..items[21]..'#'..items[22]..'#'..items[23]..'n')
    end
    gs:flush()
    gs:close()
    end
     
    ----------------------
    --STORAGE END
    ----------------------
     
    function client_command(command_)
    return guildstorage.split_(command_,"#")
    end
     
    function split_(string_,delimiter)
    local result = { }
    local from  = 1
    local delim_from, delim_to = string.find( string_, delimiter, from  )
    while delim_from do
    table.insert( result, string.sub( string_, from , delim_from-1 ) )
    from  = delim_to + 1
    delim_from, delim_to = string.find( string_, delimiter, from  )
    end
    table.insert( result, string.sub( string_, from  ) )
    return result
    end
     
     
    when login begin
    cmdchat("GUILDSTORAGE QID/"..q.getcurrentquestindex())
    end
    when 70028.use begin
    cmdchat("GetInputStop")
    end
    when 60002.use begin
    if not pc.has_guild() then say"Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen." setskin(skin) return end
    if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end
    -- chat("PENIS")
    if pc.is_guild_master() then 
    cmdchat('GUILDSTORAGE OPEN/1')
    else
    cmdchat('GUILDSTORAGE OPEN/0')
    end
     
    -- chat("2")--pack reload mein ich xD wo ist mein chat du judenkind frag das die quest nicht mich
    guildstorage.refresh()
    pc.setqf("GUILDSTORAGE",1)
    setskin(NOWINDOW)
    -- say("TEST")
    --ka ob das am setskin liegt, ich nutze das nie hm...
    end
     
    when button begin
    if pc.get_handle() == 1 then
    chat("Zugriff zum Gildenlager wurde blockiert.")
    chat("Bitte schliessen sie das Handelsfenster!")
    return
    end
    local cmd = guildstorage.client_command(guildstorage.getinput("GUILDSTORAGE QUESTCMD"))
    -- [iTEM]
    --chat(cmd)
    --bist in ner gilde? xD erst auf unserem server testen haben das doch auch danach da sonst musste ich leveln xDok xD
    if cmd[1] == 'TAKE_ITEM' then
    if not guildstorage.get_authority(1) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    if pc.get_empty_inventory_count() < 3 then syschat'Du hast nicht genug Platz im Inventar, du brauchst mindestens drei freie Plaetze' return end
    local slot = tonumber(cmd[2])+120*tonumber(cmd[3])
    local item = guildstorage.get_slot_item(slot)
    if guildstorage.slot_empty(slot) then syschat'Dieses Item befindet sich an einer anderen Position, oder wurde schon rausgenommen' return end
    guildstorage.remove_item(slot)
    guildstorage.give_item(item)
    elseif cmd[1] == 'MOVE_ITEM' then
    if not guildstorage.get_authority(0) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    --possible to store the item? antiflag/flag
     
    if cmd[2] == 'INVENTORY' then
    if not guildstorage.slot_empty(tonumber(cmd[4])+120*tonumber(cmd[5])) then syschat'Dieser Slot ist bereits belegt.' return end
    guildstorage.insert_item(tonumber(cmd[3]),tonumber(cmd[4]),tonumber(cmd[5]))
    elseif cmd[2] == 'GUILDSTORAGE' then
    if not guildstorage.slot_empty(tonumber(cmd[5])+120*tonumber(cmd[6])) then syschat'Dieser Slot ist bereits belegt, oder das Item existiert nichtmehr.' return end
    guildstorage.move_item(tonumber(cmd[3])+120*tonumber(cmd[4]),tonumber(cmd[5])+120*tonumber(cmd[6]))
    end
    -- [MONEY]
    elseif cmd[1] == 'TAKE_MONEY' then
    if not guildstorage.get_authority(3) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    local old_money = guildstorage.get_money()
    if old_money < tonumber(cmd[2]) then syschat'Soviel Yang ist nicht im Gildenlager.' return end 
    local new_money = tonumber(cmd[2])
    if new_money+pc.get_money() >= 1999999999 then syschat'Du kannst nicht mehr wie 2.000.000.000 Yang bei dir haben.' return end
    guildstorage.change_money(-new_money)
    pc.change_money(new_money)
    guildstorage.add_log(pc.get_name(),'Yang','abheben',new_money)
    cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money-new_money))
    elseif cmd[1] == 'GIVE_MONEY' then
    if not guildstorage.get_authority(2) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    local old_money = guildstorage.get_money()
    local new_money = tonumber(cmd[2])
    if new_money > pc.get_money() then syschat'Soviel Yang besitzt du nicht' return end
    pc.change_money(-new_money)
    guildstorage.change_money(new_money)
    guildstorage.add_log(pc.get_name(),'Yang','einzahlen',new_money)
    cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money+new_money))
    elseif cmd[1] == 'GETGUILDSTORAGEMONEY' then
    cmdchat('GUILDSTORAGE REFRESH_GUILDWINDOW_MONEY/'..guildstorage.get_money())
    --
    elseif cmd[1] == 'ADD_MEMBER' then
    if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    local members = guildstorage.get_members()
    if table.getn(members) >= 12 then syschat'Du kannst maximal nur 12 Member eintragen.' return end
    guildstorage.add_member(cmd[2])
    cmdchat('GUILDSTORAGE MEMBER_COMPLETE')
    elseif cmd[1] == 'DELETE_MEMBER' then
    if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    guildstorage.delete_member(cmd[2])
    cmdchat('GUILDSTORAGE MEMBER_COMPLETE')
    elseif cmd[1] == 'AUTHORITY' then
    if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    guildstorage.set_authority(cmd[2],tonumber(cmd[3]),cmd[4])
    elseif cmd[1] == 'GETMEMBERLIST' then
    if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    local members = guildstorage.get_members()
    for i = 1, table.getn(members) do
    -- id, membername, authority 1-4
    cmdchat('GUILDSTORAGE_ADDMEMBER '..(i-1)..' '..members[1]..' '..members[2]..' '..members[3]..' '..members[4]..' '..members[5])
    end
    cmdchat('GUILDSTORAGE REFRESH_MEMBERS')
    elseif cmd[1] == 'UPDATE' then
    guildstorage.refresh_tempslots()
    elseif cmd[1] == 'LOAD_LOGS' then
    if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    local logs = guildstorage.load_logs()
    local logsLen = table.getn(logs)
    for i = 0, logsLen-1 do
    local var = (logsLen-i)
    cmdchat('GUILDSTORAGE_ADDLOG '..(var-1)..' '..logs[var][1]..' '..logs[var][2]..' '..logs[var][3]..' '..logs[var][4]..' '..logs[var][5])
    end
    elseif cmd[1] == 'DELETE_LOGS' then
    if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    guildstorage.clear_logs()
     
    elseif cmd[1] == 'BUTTON' then
    if cmd[2] == "0" then
    setskin(NOWINDOW)
    game.open_mall()
    elseif cmd[2] == "1" then
    setskin(NOWINDOW)
    game.open_safebox()
    elseif cmd[2] == "2" then
    if not pc.has_guild() then syschat'Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen.' setskin(NOWINDOW) return end
    if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end
     
    if pc.is_guild_master() then 
    cmdchat('GUILDSTORAGE OPEN/1')
    else
    cmdchat('GUILDSTORAGE OPEN/0')
    end
     
    guildstorage.refresh()
    pc.setqf("GUILDSTORAGE",1)
    setskin(NOWINDOW)
    end
    end
    cmdchat("works")
    end
     
     
     
    end
    end

     

     

    i have one error ...

    p1TLORF.png

  2. Hello, I did the installation of "guildstorage" on the part of the customer and was a success, however in the quest looks like it gives me an error, because when I open the box he always informs me something to write about, like a password, but this message keeps showing up ... how to solve?
     
    Image ERROR:
    yrP8H9l.png
     
    My quest:
     
    quest guildstorage begin
    	state start begin
    	
    		function getinput(par)
    			cmdchat("getinputbegin")
    			local ret = input(cmdchat(par))
    			cmdchat("getinputend")
    			return ret
    		end
    		
    		function item_can_store(itemvnum)
    			local antiflags = guildstorage.item_get_real_antiflags(guildstorage.item_antiflag(itemvnum))
    			for i = 1 , table.getn(antiflags) do
    				if antiflags[i] == 128 or antiflags[i] == 131072 or antiflags[i] == 8192 or antiflags[i] == 64 then return false end
    			end
    			return true
    		end
    		
    		function item_get_real_antiflags(antiflag_)
    			antiflags = {131072,65536,32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1}
    			tab2 = {}
    			table.foreach(antiflags,function(_,v) if antiflag_ >= v then table.insert(tab2,v) antiflag_ = antiflag_ - v end end)
    			return tab2
    		end
    
    		function item_antiflag(item_vnum)
    			local result = mysql_query("SELECT antiflag from player.item_proto where vnum = "..item_vnum..";")
    			return (result[1][1])--pack
    		end
    		
    		----------------------
    		--LOGS START
    		----------------------
    		
    		function load_logs()
    			local logs = {}
    			local gs_logs = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "r")
    			for line in gs_logs:lines() do
    				table.insert(logs,guildstorage.split_(line,"#"))
    			end
    			return logs
    		end
    		
    		function clear_logs()
    			local gs_log = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "w+")
    			gs_log:flush()
    			gs_log:close()
    		end
    		
    		function add_log(name_,type_,do_,desc_)
    			local gs_log = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "a+")
    			local date_ = os.date()
    			date_ = string.gsub(date_," ", "+-+")
    			desc_ = string.gsub(desc_," ", "+-+")
    			gs_log:write(name_..'#'..date_..'#'..type_..'#'..do_..'#'..desc_..'n')
    			gs_log:flush()
    			gs_log:close()
    		end
    		
    		----------------------
    		--LOGS END
    		----------------------
    		
    		----------------------
    		--MEMBER & AUTHORITY START
    		----------------------
    		-- Auth 0 = einlagern
    		-- Auth 1 = rausnehmen
    		-- Auth 2 = einzahlen
    		-- Auth 3 = auszahlen
    		
    		function get_members()
    			local members = {}
    			local gs_member = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "r")
    			for line in gs_member:lines() do
    				table.insert(members,guildstorage.split_(line,"#"))
    			end
    			return members
    		end
    		
    		function get_authority(authID)
    			if pc.is_guild_master() then return true end
    			local members = guildstorage.get_members()
    			for i = 1, table.getn(members) do
    				if members[i][1] == pc.get_name() then
    					if tonumber(members[i][authID+2]) == 0 then return false else return true end
    				end
    			end
    			return false
    		end
    		
    		function set_authority(member,authID,auth)
    			local members = guildstorage.get_members()
    
    			for i = 1, table.getn(members) do
    				if members[i][1] == member then 
    					members[i][authID+2] = auth
    					break
    				end
    			end
    			
    			local gs_member = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
    			
    			for i = 1, table.getn(members) do
    				gs_member:write(members[i][1]..'#'..members[i][2]..'#'..members[i][3]..'#'..members[i][4]..'#'..members[i][5]..'n')
    			end
    			gs_member:flush()
    			gs_member:close()
    		end
    		
    		function add_member(member)
    			local members = guildstorage.get_members()
    
    			for i = 1, table.getn(members) do
    				if members[i][1] == member then 
    					syschat'Member ist schon eingetragen.' 
    					return
    				end
    			end
    			
    			local gs_member = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "a+")
    			gs_member:write(member..'#0#0#0#0n')
    			gs_member:flush()
    			gs_member:close()
    		end
    		
    		function delete_member(member)
    			local members = guildstorage.get_members()
    
    			for i = 1, table.getn(members) do
    				if members[i][1] == member then 
    					table.remove(members,i)
    					break
    				end
    			end
    			
    			local gs_member = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
    			
    			for i = 1, table.getn(members) do
    				gs_member:write(members[i][1]..'#'..members[i][2]..'#'..members[i][3]..'#'..members[i][4]..'#'..members[i][5]..'n')
    			end
    			gs_member:flush()
    			gs_member:close()
    		end
    		
    		----------------------
    		--MEMBER & AUTHORITY END
    		----------------------
    		
    		----------------------
    		--MONEY START
    		----------------------
    		function get_money()
    			local gs_money = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "r")
    			for line in gs_money:lines() do
    				return tonumber(line)
    			end
    		end
    				
    		function change_money(money)
    			local old_money = guildstorage.get_money()
    			local gs_money = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "w+")
    			
    			gs_money:write(old_money+money)
    			gs_money:flush()
    			gs_money:close()
    		end
    		
    		----------------------
    		--MONEY END
    		----------------------
    		
    		----------------------
    		--STORAGE START
    		----------------------
    		
    		function has_guildstorage()
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "r")      
    			if guildstorage == nil then
    				return false
    			else
    				return true
    			end
    		end
    		
    		function give_item(itemTab)
    			pc.give_item2_select(itemTab[1],itemTab[2])
    			local attr,socket = {},{}
    			for i = 10,23 do table.insert(attr,{itemTab[i],itemTab[i+1]}) i = i+1 end
    			for i = 4,6 do table.insert(socket,itemTab[i]) end
    			for i = 1, table.getn(attr) do 
    				item2.set_attr(i-1, attr[i][1], attr[i][2]) 
    			end 
    			for i = 1, table.getn(socket) do if tonumber(socket[i]) > 0 then item.set_socket(i-1, socket[i]) end end
    		end
    
    		function get_slot_item(slot)
    			local items = guildstorage.get_items()
    			for i = 1, table.getn(items) do
    				local item = guildstorage.split_(items[i],"#")
    				if tonumber(item[3]) == slot then
    					return item
    				end
    			end
    			return 0
    		end
    		
    		function refresh()
    			cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money())
    			local items = guildstorage.get_items()
    			if items != 0 then
    				for i = 1, table.getn(items) do
    					local item = guildstorage.split_(items[i],"#")
    					-- chat(table.getn(item))
    					cmdchat('GUILDSTORAGE_ADDITEM '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23])
    				end
    			end
    			cmdchat('GUILDSTORAGE REFRESH')
    		end
    		
    		function refresh_tempslots()
    			cmdchat('GUILDSTORAGE REFRESH_MONEY/'..guildstorage.get_money())
    			cmdchat('GUILDSTORAGE CLEAR_TEMPSLOTS')
    			local items = guildstorage.get_items()
    			if items != 0 then
    				for i = 1, table.getn(items) do
    					local item = guildstorage.split_(items[i],"#")
    					cmdchat('GUILDSTORAGE_ADDTEMPSLOT '..item[3]..' '..item[1]..' '..item[2]..' '..item[4]..' '..item[5]..' '..item[6]..' '..item[7]..' '..item[8]..' '..item[9]..' '..item[10]..' '..item[11]..' '..item[12]..' '..item[13]..' '..item[14]..' '..item[15]..' '..item[16]..' '..item[17]..' '..item[18]..' '..item[19]..' '..item[20]..' '..item[21]..' '..item[22]..' '..item[23])
    				end
    			end
    			cmdchat('GUILDSTORAGE COMPARE_TEMPSLOTS')
    		end
    		
    		function slot_empty(slot)
    			local itemList = guildstorage.get_items()
    			
    			for i = 1 , table.getn(itemList) do
    				local item = guildstorage.split_(itemList[i],"#")
    				if tonumber(item[3]) == slot then
    					return false
    				end
    			end
    			return true
    		end
    		
    		function create_guildstorage()
    			os.execute("mkdir ".."/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild())
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "w+")
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/money.txt", "w+")
    			guildstorage:write("0")
    			guildstorage:close()
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/authority.txt", "w+")
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/logs.txt", "w+")
    			
    			guildstorage:close()
    		end
    		
    		function insert_item(cell,slot,tab)
    			item.select_cell(cell)
    			local attr = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)},{item2.get_attr(4)},{item2.get_attr(5)}, {item2.get_attr(6)}}
    			local socket, itemVnum, itemCount = {item.get_socket(0), item.get_socket(1), item.get_socket(2),item.get_socket(3),item.get_socket(4),item.get_socket(5)}, item.get_vnum(), item.get_count()      
    			if not guildstorage.item_can_store(itemVnum) then syschat'Dieses Item kann nicht gelagert werden.' return end
    			guildstorage.add_log(pc.get_name(),'Item','einlagern',item_name(itemVnum)..' ('..itemCount..')')
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "a+")
    			if not pc.can_warp() then return end
    			item.select(cell)
    			if item.vnum == 0 then return end
    			--if item.rem(item.get_count()) then
    			item.remove()
    			guildstorage:write(itemVnum.."#"..itemCount.."#"..(slot+120*tab).."#"..socket[1].."#"..socket[2].."#"..socket[3].."#"..socket[4].."#"..socket[5].."#"..socket[6].."#"..attr[1][1].."#"..attr[1][2].."#"..attr[2][1].."#"..attr[2][2].."#"..attr[3][1].."#"..attr[3][2].."#"..attr[4][1].."#"..attr[4][2].."#"..attr[5][1].."#"..attr[5][2].."#"..attr[6][1].."#"..attr[6][2].."#"..attr[7][1].."#"..attr[7][2].."n")
    			guildstorage:flush()
    			guildstorage:close()
    			cmdchat('GUILDSTORAGE_ADDITEMSLOT '..slot..' '..tab..' '..itemVnum..' '..itemCount..' '..socket[1]..' '..socket[2]..' '..socket[3]..' '..socket[4]..' '..socket[5]..' '..socket[6]..' '..attr[1][1]..' '..attr[1][2]..' '..attr[2][1]..' '..attr[2][2]..' '..attr[3][1]..' '..attr[3][2]..' '..attr[4][1]..' '..attr[4][2]..' '..attr[5][1]..' '..attr[5][2]..' '..attr[6][1]..' '..attr[6][2]..' '..attr[7][1]..' '..attr[7][2])
    			--else
    				--syschat("Du hast das Item nicht mehr")
    			--end
    		end
    		
    		function remove_item(slot)
    			local gsPath = "/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt"
    			local items = {}
    			local itemList = guildstorage.get_items()
    			
    			for i = 1 , table.getn(itemList) do
    				table.insert(items,guildstorage.split_(itemList[i],"#"))
    			end
    			
    			for i = 1, table.getn(items) do
    				if items[i][3] == tostring(slot) then 
    					guildstorage.add_log(pc.get_name(),'Item','rausnehmen',item_name(items[i][1])..' ('..items[i][2]..')')
    					table.remove(items,i)
    					break
    				end
    			end
    			local gs = io.open(gsPath, "w+")
    			for i = 1, table.getn(items) do
    				gs:write(items[i][1]..'#'..items[i][2]..'#'..items[i][3]..'#'..items[i][4]..'#'..items[i][5]..'#'..items[i][6]..'#'..items[i][7]..'#'..items[i][8]..'#'..items[i][9]..'#'..items[i][10]..'#'..items[i][11]..'#'..items[i][12]..'#'..items[i][13]..'#'..items[i][14]..'#'..items[i][15]..'#'..items[i][16]..'#'..items[i][17]..'#'..items[i][18]..'#'..items[i][19]..'#'..items[i][20]..'#'..items[i][21]..'#'..items[i][22]..'#'..items[i][23]..'n')
    			end
    			gs:flush()
    			gs:close()
    		end
    		
    		function get_items()
    			local guildstorageTab = {}
    			local guildstorage = io.open("/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt", "r")
    			for item in guildstorage:lines() do
    				table.insert(guildstorageTab,item)
    			end
    			return guildstorageTab or 0
    		end
    		
    		function move_item(from,to)
    			local gsPath = "/usr/home/game/share/locale/germany/quest/Guildstorage/".."Guildstorage/"..pc.get_guild().."/storage.txt"
    			
    			local items = {}
    			local itemList = guildstorage.get_items()
    			
    			for i = 1 , table.getn(itemList) do
    				table.insert(items,guildstorage.split_(itemList[i],"#"))
    			end
    			
    			for i = 1, table.getn(items) do
    				if items[i][3] == tostring(from) then items[i][3] = tostring(to) end
    			end
    			local gs = io.open(gsPath, "w+")
    			for i = 1, table.getn(items) do
    				gs:write(items[i][1]..'#'..items[i][2]..'#'..items[i][3]..'#'..items[i][4]..'#'..items[i][5]..'#'..items[i][6]..'#'..items[i][7]..'#'..items[i][8]..'#'..items[i][9]..'#'..items[i][10]..'#'..items[i][11]..'#'..items[i][12]..'#'..items[i][13]..'#'..items[i][14]..'#'..items[i][15]..'#'..items[i][16]..'#'..items[i][17]..'#'..items[i][18]..'#'..items[i][19]..'#'..items[i][20]..'#'..items[i][21]..'#'..items[i][22]..'#'..items[i][23]..'n')
    			end
    			gs:flush()
    			gs:close()
    		end
    		
    		----------------------
    		--STORAGE END
    		----------------------
    		
    		function client_command(command_)
    			return guildstorage.split_(command_,"#")
    		end
    		
    		function split_(string_,delimiter)
    			local result = { }
    			local from  = 1
    			local delim_from, delim_to = string.find( string_, delimiter, from  )
    			while delim_from do
    				table.insert( result, string.sub( string_, from , delim_from-1 ) )
    				from  = delim_to + 1
    				delim_from, delim_to = string.find( string_, delimiter, from  )
    			end
    			table.insert( result, string.sub( string_, from  ) )
    			return result
    		end
    		
    		
    		when login begin
    			cmdchat("GUILDSTORAGE QID/"..q.getcurrentquestindex())
    		end
    		when 70028.use begin
    			cmdchat("GetInputStop")
    		end
    		when 20095.chat."Gildenlager" begin
    			if not pc.has_guild() then syschat'Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen.' setskin(NOWINDOW) return end
    			if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end
    			-- chat("PENIS")
    			if pc.is_guild_master() then 
    				cmdchat('GUILDSTORAGE OPEN/1')
    			else
    				cmdchat('GUILDSTORAGE OPEN/0')
    			end
    			
    			-- chat("2")--pack reload mein ich xD wo ist mein chat du judenkind frag das die quest nicht mich
    			guildstorage.refresh()
    			pc.setqf("GUILDSTORAGE",1)
    			setskin(NOWINDOW)
    			-- say("TEST")
    			--ka ob das am setskin liegt, ich nutze das nie hm...
    		end
    		
    		when button begin
    			local cmd = guildstorage.client_command(guildstorage.getinput("GUILDSTORAGE QUESTCMD"))
    			-- [ITEM]
    			--chat(cmd)
    			--bist in ner gilde? xD erst auf unserem server testen haben das doch auch danach da sonst müsste ich leveln xDok xD
    			if cmd[1] == 'TAKE_ITEM' then
    				if not guildstorage.get_authority(1) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    				if pc.get_empty_inventory_count() < 3 then syschat'Du hast nicht genug Platz im Inventar, du brauchst mindestens drei freie Plaetze' return end
    				local slot = tonumber(cmd[2])+120*tonumber(cmd[3])
    				local item = guildstorage.get_slot_item(slot)
    				if guildstorage.slot_empty(slot) then syschat'Dieses Item befindet sich an einer anderen Position, oder wurde schon rausgenommen' return end
    				guildstorage.remove_item(slot)
    				guildstorage.give_item(item)
    			elseif cmd[1] == 'MOVE_ITEM' then
    				if not guildstorage.get_authority(0) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    				--possible to store the item? antiflag/flag
    				
    				if cmd[2] == 'INVENTORY' then
    					if not guildstorage.slot_empty(tonumber(cmd[4])+120*tonumber(cmd[5])) then syschat'Dieser Slot ist bereits belegt.' return end
    					guildstorage.insert_item(tonumber(cmd[3]),tonumber(cmd[4]),tonumber(cmd[5]))
    				elseif cmd[2] == 'GUILDSTORAGE' then
    					if not guildstorage.slot_empty(tonumber(cmd[5])+120*tonumber(cmd[6])) then syschat'Dieser Slot ist bereits belegt, oder das Item existiert nichtmehr.' return end
    					guildstorage.move_item(tonumber(cmd[3])+120*tonumber(cmd[4]),tonumber(cmd[5])+120*tonumber(cmd[6]))
    				end
    			-- [MONEY]
    			elseif cmd[1] == 'TAKE_MONEY' then
    				if not guildstorage.get_authority(3) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    				local old_money = guildstorage.get_money()
    				if old_money < tonumber(cmd[2]) then syschat'Soviel Yang ist nicht im Gildenlager.' return end 
    				local new_money = tonumber(cmd[2])
    				if new_money+pc.get_money() >= 1999999999 then syschat'Du kannst nicht mehr wie 2.000.000.000 Yang bei dir haben.' return end
    				guildstorage.change_money(-new_money)
    				pc.change_money(new_money)
    				guildstorage.add_log(pc.get_name(),'Yang','abheben',new_money)
    				cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money-new_money))
    			elseif cmd[1] == 'GIVE_MONEY' then
    				if not guildstorage.get_authority(2) then syschat'Du besitzt keine Berechtigung hierfuer.' return end
    				local old_money = guildstorage.get_money()
    				local new_money = tonumber(cmd[2])
    				if new_money > pc.get_money() then syschat'Soviel Yang besitzt du nicht' return end
    				pc.change_money(-new_money)
    				guildstorage.change_money(new_money)
    				guildstorage.add_log(pc.get_name(),'Yang','einzahlen',new_money)
    				cmdchat('GUILDSTORAGE REFRESH_MONEY/'..(old_money+new_money))
    			elseif cmd[1] == 'GETGUILDSTORAGEMONEY' then
    				cmdchat('GUILDSTORAGE REFRESH_GUILDWINDOW_MONEY/'..guildstorage.get_money())
    			-- [MEMBER]
    			elseif cmd[1] == 'ADD_MEMBER' then
    				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    				local members = guildstorage.get_members()
    				if table.getn(members) >= 12 then syschat'Du kannst maximal nur 12 Member eintragen.' return end
    				guildstorage.add_member(cmd[2])
    				cmdchat('GUILDSTORAGE MEMBER_COMPLETE')
    			elseif cmd[1] == 'DELETE_MEMBER' then
    				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    				guildstorage.delete_member(cmd[2])
    				cmdchat('GUILDSTORAGE MEMBER_COMPLETE')
    			elseif cmd[1] == 'AUTHORITY' then
    				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    				guildstorage.set_authority(cmd[2],tonumber(cmd[3]),cmd[4])
    			elseif cmd[1] == 'GETMEMBERLIST' then
    				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    				local members = guildstorage.get_members()
    				for i = 1, table.getn(members) do
    					-- id, membername, authority 1-4
    					cmdchat('GUILDSTORAGE_ADDMEMBER '..(i-1)..' '..members[i][1]..' '..members[i][2]..' '..members[i][3]..' '..members[i][4]..' '..members[i][5])
    				end
    				cmdchat('GUILDSTORAGE REFRESH_MEMBERS')
    			elseif cmd[1] == 'UPDATE' then
    				guildstorage.refresh_tempslots()
    			elseif cmd[1] == 'LOAD_LOGS' then
    				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    				local logs = guildstorage.load_logs()
    				local logsLen = table.getn(logs)
    				for i = 0, logsLen-1 do
    					local var = (logsLen-i)
    					cmdchat('GUILDSTORAGE_ADDLOG '..(var-1)..' '..logs[var][1]..' '..logs[var][2]..' '..logs[var][3]..' '..logs[var][4]..' '..logs[var][5])
    				end
    			elseif cmd[1] == 'DELETE_LOGS' then
    				if not pc.is_guild_master() then syschat'Cheese. ;p' return end
    				guildstorage.clear_logs()
    				
    			elseif cmd[1] == 'BUTTON' then
    				if cmd[2] == "0" then
    					setskin(NOWINDOW)
    					game.open_mall()
    				elseif cmd[2] == "1" then
    					setskin(NOWINDOW)
    					game.open_safebox()
    				elseif cmd[2] == "2" then
    					if not pc.has_guild() then syschat'Du benoetigst eine Gilde um das Gildenlager benutzen zu koennen.' setskin(NOWINDOW) return end
    					if not guildstorage.has_guildstorage() then guildstorage.create_guildstorage() end
    					
    					if pc.is_guild_master() then 
    						cmdchat('GUILDSTORAGE OPEN/1')
    					else
    						cmdchat('GUILDSTORAGE OPEN/0')
    					end
    					
    					guildstorage.refresh()
    					pc.setqf("GUILDSTORAGE",1)
    					setskin(NOWINDOW)
    				end
    			end
    		end
    		
    		
    
    	end
    end
    
    Help-me please!

     

  3. Hi...

    I have an error in my files, I'm sure it's nothing to worry about, but it is something that whether we like it or not, bothers me ... I've used all my tricks to try to solve it but I couldn't ... What can it be?

    I'm currently with 34k files created by myself, but I will update in the future depending on the need ...
    Does anyone have a suggestion to remove this error?

     

    Imagem:

     

     

    en2PlCm.png

  4. Hi... Has files/maxmi client 55k 3.6 version, I don't know much about customer, just wanted some help on which file
    should I move to change the photo button number 1 to the position next to the photo number 2, just so I have an idea and finish other things related to the same ... thanks from already ...
     
    Photo 01:
    8kNYHUI.png
     
    change to:
     
    Photo 2
    beside VINP6OJ.png  or dSA6rk9.png
     
    in these open spaces
     
    Thanks

     

  5. Sry for my bad english...

    Hi, I have downloaded files into another forum warehouse guild, but implemented on the client perfectly in the topic where downloaded had no tutorial, but with my basic knowledge I found easy implementation, but I don't know if you are missing files or something wrong I did ...
    These files provided by the author of the post were informed that works only for 34 K, use files and the same rulez does not work and gives me this error in the image ...

    Files for download below too.

    If someone can put the part of the customer for me or do a tutorial, I appreciate immensely...

     

     

    Vídeo info (original topic)

    https://www.youtube.com/watch?v=a1XRfUgPQy0

     

     

     

    My implementation

    Photo Error:

     

    GNRkgzw.png

     

     

     

    Download Archives for implementation...

     

    This

     

     

    Help-me

     

  6. Im not realy sure but open your VIP .mse file and search for

    List TimeEventPosition
        {
            0.000000 "MOVING_TYPE_DIRECT" 0.000000 0.000000 110.150993
        }
    

    Change the last value (110.150993) to a lower number. 50.000000 for example.

     

    I LOVE YOU MAN!!!!!!!!!!!!!!!!!!!

    Yeah! was solved.

     

    But now we just need to get that error when I withdraw the weapon/armor/climb on the horse, or whatever the symbol disappears. (even when reload happens)
    • Love 1
  7. 1. use WorldEditor and make sure that the image doesn't have a white space at the bottom. (photoshop or its equivalent)

    It didn't work, the image is the same "size" the symbol GM, even tried to duplicate the symbol GM and change the extension, but the distance stays the same.

     

     

    Does not work. The VIP symbol is replaced by a yellow fire, but when I remove the armor or do an action he disappears.

     

    you have to edit your msm file , in my opinion take the gm logo msm and replace it with vip msm and just change names and everything should be fine

    if you need help doing this let me know  

     

    Had already been edited and the same has not been solved, I copied the mse of the GM and it didn't work :/
  8. Hello, I was wondering how do I fix the vip system in my server ... have two problems and I cite both:
    1-the distance of it, compared with the symbol GM is too far away, as you can see in the image that I leave below. I copied the script. mse to try GM let equal and yet still distant ...

    2-the Vip stays with the symbol, but if I use an item, remove an item or do any simple action, like for example mount/exit the horse, the symbol disappears temporarily, and same if I re-logo or even push ESC.

     

     

     

     

    jczE6Av.png

     

     

    Sorry for my bad english, i'm brasilian...

  9. Hi...I tried various ways to implement "login interface" in client 55k but give ALL mistake ... someone could create just the script, with a SIMPLE design, for I edit with photoshop and put to my taste? I can not create ... it would have to be beyond the LOGIN and PASSWORD, a button to "register", "facebook" and "youtube" in the channel, show in "real time" if it is offline or online ... thank you ..

    Note: it would be interesting to someone teach instead of doing so would be easier for me to develop future interfaces ... thanks

     

    I use client maxmi for 55k

  10. I have download "Test Client für 402501"  and have python27.dll and python22.dll in folder

    and the error that is : LOG Failet to load image (filename: locale/de/ui/login/status/...tga)

     

    My syserr:

    0903 15:19:00693 :: ui:1901: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
    
    0903 15:20:00633 :: ============================================================================================================
    0903 15:20:00634 :: Abort!!!!
    
    
    0903 15:20:00634 :: filename=system.py, name=RunMainScript
    0903 15:20:00634 :: filename=system.py, name=<module>
    0903 15:20:00634 :: filename=<string>, name=<module>
    

    in this client Synera:

    Have also python27.dll and python22.dll in folder

     

    My syserr:

    0903 14:05:03169 :: 
    introLogin.py(line:522) __LoadScript
    ui.py(line:2720) GetChild
    
    LoginWindow.__LoadScript.BindObject - <type 'exceptions.KeyError'>:'ServerBoard'
    
    0903 14:05:03169 :: ============================================================================================================
    0903 14:05:03169 :: Abort!!!!
    
    
    0903 14:05:03169 :: filename=exception.py, name=Abort
    0903 14:05:03169 :: filename=introLogin.py, name=__LoadScript
    0903 14:05:03169 :: filename=introLogin.py, name=Open
    0903 14:05:03169 :: filename=networkModule.py, name=__ChangePhaseWindow
    0903 14:05:03169 :: filename=uiPhaseCurtain.py, name=OnUpdate
    0903 14:05:03169 :: filename=prototype.py, name=RunApp
    0903 14:05:03169 :: filename=prototype.py, name=<module>
    0903 14:05:03169 :: filename=system.py, name=Run
    0903 14:05:03169 :: filename=system.py, name=execfile
    0903 14:05:03169 :: filename=system.py, name=RunMainScript
    0903 14:05:03169 :: filename=system.py, name=<module>
    0903 14:05:03169 :: filename=<string>, name=<module> 

    ---

    dao two different errors because the Synera already has its own interface and the client test 40k from what I understand is error to load image ...

     

    ...

     

    Thanks

     

  11. kkkkkk OMG"

    My client is 40k (version SYNERA have other interface include) 

     

    My client open and close...

    from already thank you to your tutorial, this time I'm downloading other customers 40K for testing ...

     

    My syserr...

    0903 14:05:03169 :: 
    introLogin.py(line:522) __LoadScript
    ui.py(line:2720) GetChild
    
    LoginWindow.__LoadScript.BindObject - <type 'exceptions.KeyError'>:'ServerBoard'
    
    0903 14:05:03169 :: ============================================================================================================
    0903 14:05:03169 :: Abort!!!!
    
    
    0903 14:05:03169 :: filename=exception.py, name=Abort
    0903 14:05:03169 :: filename=introLogin.py, name=__LoadScript
    0903 14:05:03169 :: filename=introLogin.py, name=Open
    0903 14:05:03169 :: filename=networkModule.py, name=__ChangePhaseWindow
    0903 14:05:03169 :: filename=uiPhaseCurtain.py, name=OnUpdate
    0903 14:05:03169 :: filename=prototype.py, name=RunApp
    0903 14:05:03169 :: filename=prototype.py, name=<module>
    0903 14:05:03169 :: filename=system.py, name=Run
    0903 14:05:03169 :: filename=system.py, name=execfile
    0903 14:05:03169 :: filename=system.py, name=RunMainScript
    0903 14:05:03169 :: filename=system.py, name=<module>
    0903 14:05:03169 :: filename=<string>, name=<module>
    
  12. as far as i know this guy alwas buy he does not use free stuff (in some cases mixing free stuff make 1 good thing) :wub:

    well so far i cant understand and its kind of late good night

    --------------------------------------------------------------

    and i just cant understand why the intreface does not work with you

     

    If you want, I record my way of installation on client version and show the 30K run, then immediately installing in 40K ...

  13. i dont know what u are doing, but it works for me..

     

    im using the 40k test client, with a new interface look :

     

     

    f18e6816b2.jpg

    OMG, I do not know where to find this interface, but the process of adding that interface I posted for download was the same used in clients with less than 40k version, and it worked ... only 40k customers in THAT does not work. now .. I will try this ... the problem from what I understand, is that the interface does not show the online server in real time, shows that it must have different codes ... you try to implement it ...

  14. Search other string.pyc and replace ;)

     

     

    no he should be using a string.pyd complied with the same magic number as python27.dll

    (you can also get string.py and let it be complied)

     

    I have download the file ... could someone please inform me and baixálo 40k client that worked? tried all and none will only previous clients to this release ...

     

    https://mega.co.nz/#!341RmSiI!VSBJBKWcIzvVIdt1j2x9YQh2Ki85U2qK_oolbKgY_p4

  15. I removed the line from the file "intrologin.py" call "include md5" as the picture shows, the error remains the same.

     

    images...

    https://metin2.download/picture/6rOcSQYQazCn7z6IE4krPu6FGtBOE4T1/.png

    https://metin2.download/picture/4rV8RJaHfSXcGWiusVmwysz7RjzUwuhl/.png  (syserr.txt)

     

    log.txt

    0831 18:11:50575 :: 알림: 파일 모드입니다.
    0831 18:11:00003 :: 
    0831 18:11:00003 :: ## Network - OffLine Phase ##
    0831 18:11:00003 :: 
    0831 18:11:00029 :: importing from pack debugInfo
    0831 18:11:00030 :: importing from pack localeInfo
    0831 18:11:00037 :: importing from pack constInfo
    0831 18:11:00043 :: importing from pack mouseModule
    0831 18:11:00046 :: importing from pack ui
    0831 18:11:00075 :: importing from pack networkModule
    0831 18:11:00077 :: importing from pack playerSettingModule
    0831 18:11:00092 :: importing from pack emotion
    0831 18:11:00094 :: importing from pack uiPhaseCurtain
    0831 18:11:00095 :: importing from pack uiCandidate
    0831 18:11:00096 :: importing from pack musicInfo
    0831 18:11:00097 :: importing from pack stringCommander
    0831 18:11:00320 :: NEWMAIN STREAM ----------------------------------------------------------------------------0831 18:11:00320 :: 
    0831 18:11:00320 :: NEW POPUP DIALOG ----------------------------------------------------------------------------0831 18:11:00320 :: 
    0831 18:11:00320 :: importing from pack exception
    0831 18:11:00320 :: ===== Load Script File : UIScript/PopupDialog.py0831 18:11:00320 :: 
    0831 18:11:00321 :: importing from pack uiScriptLocale
    0831 18:11:00351 :: NEW CURTAIN  ----------------------------------------------------------------------------0831 18:11:00351 :: 
    0831 18:11:00351 :: 
    0831 18:11:00351 :: ## Network - OffLine Phase ##
    0831 18:11:00351 :: 
    0831 18:11:00351 :: importing from pack introLogin
    0831 18:11:00361 :: importing from pack serverInfo
    0831 18:11:00361 :: importing from pack uiCommon
    0831 18:11:00364 :: importing from lib time
    0831 18:11:00364 :: importing from pack ServerCommandParser
    0831 18:11:00365 :: importing from lib string
    0831 18:11:01178 :: 
    system.py(line:273) RunMainScript
    system.py(line:192) execfile
    system.py(line:163) Run
    prototype.py(line:60) <module>
    prototype.py(line:51) RunApp
    networkModule.py(line:177) SetLoginPhase
    system.py(line:130) __pack_import
    system.py(line:110) _process_result
    introLogin.py(line:23) <module>
    system.py(line:137) __pack_import
     
    Run - <type 'exceptions.ImportError'>:Bad magic number in C:UsersUserDesktopTest Client f? 402501libstring.pyc
     
    0831 18:11:01178 :: SYSERR: ============================================================================================================
    0831 18:11:01178 :: SYSERR: Abort!!!!
     
     
    0831 18:11:01178 :: SYSERR: filename=system.py, name=RunMainScript
    0831 18:11:01178 :: SYSERR: filename=system.py, name=<module>
    0831 18:11:01178 :: SYSERR: filename=<string>, name=<module>
    0831 18:11:01178 :: ---------------------------------------------------------------------------- DELETE MAIN STREAM 0831 18:11:01178 :: 
    0831 18:11:01178 :: ---------------------------------------------------------------------------- DELETE POPUP DIALOG 0831 18:11:01178 :: 
    0831 18:11:01179 :: ---------------------------------------------------------------------------- DELETE CURTAIN0831 18:11:01179 :: 
    0831 18:11:01185 :: CResourceManager::__DestroyDeletingResourceMap 28
    0831 18:11:01186 :: CResourceManager::__DestroyResourceMap 32
    0831 18:11:01218 :: CResourceManager::__DestroyResourceMap 0
    0831 18:11:01218 :: CPythonBackground Clear
    0831 18:11:01218 :: PythonIME Clear
    0831 18:11:01218 :: PythonNetworkMainStream Clear
    0831 18:11:01218 :: Python Graphic Clear
     

     

    thanks anyway ... :(

    • Love 1
  16. hello, I was wondering how to set up a client login interface in 40k since tried many ways and not getting results at 34K files works perfectly ... changed directories?

    The images below are for the files that is included in the download interface, just below the error when I try to implement in 40K files

     

    [image files that are in the download]

     

    Links:

    1- https://metin2.download/picture/D6D6Rf4ej0iV2u9gTwHY6Hs64qbOdFVa/.png

    2- https://metin2.download/picture/FI28ZA3e74v9OJs3J39k9ZG01bU79kZE/.png

    3- https://metin2.download/picture/C576P7sCo2dWy0Gj1XE3D16yawft8J73/.png

     

    [image informational error in SYSERR]

     

    Link:

    https://metin2.download/picture/p6BHa1qsg85SGJJXB1VpgXNNdT9j9q9L/.png  (client stay all black)

     

    My syserr.txt

    0831 16:18:20327 :: ============================================================================================================
    0831 16:18:20327 :: Abort!!!!
    
    
    0831 16:18:20327 :: filename=system.py, name=RunMainScript
    0831 16:18:20327 :: filename=system.py, name=<module>
    0831 16:18:20327 :: filename=<string>, name=<module>
    

     

    My log.txt

    0831 16:16:54037 :: 알림: 파일 모드입니다.
    0831 16:16:00002 :: 
    0831 16:16:00002 :: ## Network - OffLine Phase ##
    0831 16:16:00002 :: 
    0831 16:16:00030 :: importing from pack debugInfo
    0831 16:16:00031 :: importing from pack localeInfo
    0831 16:16:00040 :: importing from pack constInfo
    0831 16:16:00049 :: importing from pack mouseModule
    0831 16:16:00053 :: importing from pack ui
    0831 16:16:00084 :: importing from pack networkModule
    0831 16:16:00086 :: importing from pack playerSettingModule
    0831 16:16:00100 :: importing from pack emotion
    0831 16:16:00102 :: importing from pack uiPhaseCurtain
    0831 16:16:00102 :: importing from pack uiCandidate
    0831 16:16:00104 :: importing from pack musicInfo
    0831 16:16:00104 :: importing from pack stringCommander
    0831 16:16:00336 :: NEWMAIN STREAM ----------------------------------------------------------------------------0831 16:16:00336 :: 
    0831 16:16:00336 :: NEW POPUP DIALOG ----------------------------------------------------------------------------0831 16:16:00336 :: 
    0831 16:16:00336 :: importing from pack exception
    0831 16:16:00337 :: ===== Load Script File : UIScript/PopupDialog.py0831 16:16:00337 :: 
    0831 16:16:00337 :: importing from pack uiScriptLocale
    0831 16:16:00368 :: NEW CURTAIN  ----------------------------------------------------------------------------0831 16:16:00368 :: 
    0831 16:16:00368 :: 
    0831 16:16:00368 :: ## Network - OffLine Phase ##
    0831 16:16:00368 :: 
    0831 16:16:00368 :: importing from pack introLogin
    0831 16:16:00377 :: importing from pack serverInfo
    0831 16:16:00378 :: importing from pack uiCommon
    0831 16:16:00381 :: importing from lib time
    0831 16:16:00381 :: importing from pack ServerCommandParser
    0831 16:16:00381 :: importing from lib md5
    0831 16:18:20327 :: 
    system.py(line:273) RunMainScript
    system.py(line:192) execfile
    system.py(line:163) Run
    prototype.py(line:60) <module>
    prototype.py(line:51) RunApp
    networkModule.py(line:177) SetLoginPhase
    system.py(line:130) __pack_import
    system.py(line:110) _process_result
    introLogin.py(line:21) <module>
    system.py(line:137) __pack_import
    
    Run - <type 'exceptions.ImportError'>:No module named md5
    
    0831 16:18:20327 :: SYSERR: ============================================================================================================
    0831 16:18:20327 :: SYSERR: Abort!!!!
    
    
    0831 16:18:20327 :: SYSERR: filename=system.py, name=RunMainScript
    0831 16:18:20327 :: SYSERR: filename=system.py, name=<module>
    0831 16:18:20327 :: SYSERR: filename=<string>, name=<module>
    0831 16:18:20328 :: ---------------------------------------------------------------------------- DELETE MAIN STREAM 0831 16:18:20328 :: 
    0831 16:18:20328 :: ---------------------------------------------------------------------------- DELETE POPUP DIALOG 0831 16:18:20328 :: 
    0831 16:18:20328 :: ---------------------------------------------------------------------------- DELETE CURTAIN0831 16:18:20328 :: 
    0831 16:18:20335 :: CResourceManager::__DestroyDeletingResourceMap 28
    0831 16:18:20335 :: CResourceManager::__DestroyResourceMap 32
    0831 16:18:20370 :: CResourceManager::__DestroyResourceMap 0
    0831 16:18:20370 :: CPythonBackground Clear
    0831 16:18:20370 :: PythonIME Clear
    0831 16:18:20370 :: PythonNetworkMainStream Clear
    0831 16:18:20370 :: Python Graphic Clear
    

     

    Help me!

     

    Sorry for my bad english... im brasilian

    • Think 1
  17. Um, you can't unpack root & locale_pl and check by yourself what's wrong?

    yes, extracts the standards files, but contains nothing there, the problem is this, or is removed, I was trying to substitute another interface, created by Yoshi, and gives me error, the first error is that opens and closes the client without showing error, the second is a black screen with nothing but INVOICE using the client works with the same method of adding ...

     

     

    sry for my bad english

  18. Hello friends, I wanted to know how to remove the interface from the client Synera because I developed a own interface, which works with other clients, but I see that this interface has more files in other directories, which can not identificiar ... the interface client you want to remove this is the end of the text ... if possible and who knows, tell me how do I edit the design of the item shop which is on the when I click on the "money" left side below ... thanks https://metin2.download/picture/6J437sdrNdEl29xvQHkCMqPdAEU61Try/.jpg

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.